TiDB写入慢

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
v4.0.0
pd 4u 8G
db 16u 64G
kv 16U 64G
flash 32u 128G


【问题描述】
TiDB写入非常慢,是单机版mysql的6倍多。
TIDB10个节点,标准的3331,TiKV是ssd,腾讯云的ssd,用了腾讯云的负载均衡。
单机版mysql也是腾讯云的ssd
同样是5301条数据,mysql 14s,tiDB是1.5分钟。很夸张。


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。



可以先参考文档按照写入流程进行排查一下

就这个配置,TiDB的正常写入速度是多少,或者你们有压测报告吗?各项指标看了没啥异常。感觉TiDB的写入是不是就是这个效率,这么低,

https://docs.pingcap.com/zh/tidb/stable/benchmark-sysbench-v4-vs-v3#测试方案
这是官方的 sysbench 性能压测报告。

TiDB 是一个分布式数据库,追求的是水平扩展能力,MySQL 是单机数据库,如果对于单机 MySQL 可以搞定的场景,其实没有必要上 TiDB 。

单机版已经快到瓶颈了。各项指标都到顶峰了,需要一个分布式架构的数据库支撑,后续可扩展,而且单机的查询性能不行。

导出一下 Overview 、TiDB 、PD 、TiKV-Details 面板写入慢时间段的监控看下
导出监控方式:https://metricstool.pingcap.com/

Overview:
D-Overview_2021-02-24T08_14_00.408Z.json (1.4 MB)
TiDB:
D-TiDB_2021-02-24T08_26_17.117Z.json (2.2 MB)
PD:
D-PD_2021-02-24T08_18_33.573Z.json (1.7 MB)
TiKV:
D-TiKV-Details_2021-02-24T08_21_46.655Z.json (7.2 MB)

应用场景中update和upsert的比例较高,问题的截图是一个upsert的任务。

看监控的数据库 duration 不高,系统资源使用率也不是很高,所以数据库没什么压力,可以考虑增加并发写入来加快数据写入。

TiDB 写入的时候,涉及到 TiDB 与 PD 之间的网络交互,TiDB 与 TIKV 之间的网络交互,整个写入流程环节会比 MySQL 多,耗时也会更长。

增加并发是指客户端增加,还是服务端也有设置呢。

增加客户端并发压力