insert 语句中rewrite && commit优化问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】4.0
【遇到的问题:问题现象及影响】
INSERT 语句prewrite && commit阶段 耗时长。如何优化呢? 平均prewrite 99%30毫秒。磁盘延迟不高。查看了async过程。基本时间消耗在了raft 阶段(log commit阶段占用了一半 15毫秒左右)。 apply阶段消耗很少。在tidb 4.0 是否可以提高store-pool-size 加大生产
SQL:INSERT INTO
nova_transaction_order_record (
id,
customer_id,
account_id,
symbol,
side,
TYPE,
STATUS,
price,
average_price,
amount,
filled_fee,
fee_rule,
fee_mark,
spend_currency,
spend_account_id,
spend_amount,
deal_spend_amount,
get_currency,
get_account_id,
get_amount,
deal_get_amount,
source,
channel,
canceled_at,
finished_at
)
VALUES
(…, NULL,…, NULL, NULL)
【附件:截图/日志/监控】






这种不好优化,调整事务并发度

感觉就是磁盘性能问题,评估下磁盘iops

只是这个Insert慢还是所有的都慢? 看下监控 tikv detail → thread CPU ,scheduler-prewrite → scheduler latch wait duration , 网络延迟black exporter

latch很快 raft cpu负载50%也不高 所以考虑是不是可以调高下store-pool-size

回到原始问题,现在是系统有瓶颈跟不上业务量了吗还是就看这个值高想优化优化

1 个赞

之前我的4.0.9集群插入延迟也高 升级高版本性能就提升了

1 个赞

https://docs.pingcap.com/zh/tidb/v5.4/benchmark-sysbench-v5-vs-v4#测试目的
https://docs.pingcap.com/zh/tidb/v5.4/v5.4-performance-benchmarking-with-tpcc#测试概况
官方给的测试报告 每个版本的升级 读写性能都有提升

thread CPU有好多个。网络延迟呢

我还是要强烈推荐一下这个视频。
我自己的感受也是,并发一高,parse和compile阶段的占比会增长的很快。
你现在看parse才80微秒。可能并发一高,就有可能到10+毫秒。
在raft协议下,prewrite阶段除了网络或者存储上的更新,还是很难提高的。
不如把精力放在对plan cache的优化上,在高并发的场景下,会有更好的表现。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。