写入qps 目前不能满足业务需求, 但是线上集群又不能随意加大并发, 怕影响集群的其他业务

写入程序是接收 kafka, 然后批量 500 条消息组合成一条 insert 插入 tidb, 平时接收消息的 qps 大概在 20-30w, 插入 tidb 的 insert 单条 qps 是 2.5w- 3.75w, 大概是 8:1 的比例, 然后 insert 是 500 row 一条, 最后 insert qps :
50- 75, 这是平时的 qps ; 大促期间的插入 tidb 的单条 insert qps 需要至少达到 8 w,
目前运行的情况是:
八个客户端写入, 8 cpu, 8192 mb 内存, 每个 50 个连接,
consume kafka 平均 qps 22w, 如图一, 对应 tidb 单条 insert qps : 2.75w, 但是波动比较大, 可能受集群其他业务写入的影响, 集群不是专用的,

,
集群配置如图二:

机器配置: 196G RAM, 2.5T RAID 5 SAS SSD. 48 core CPU

statement qps 如图三:


还需要什么信息可以再问我,
想问下:

  1. 能否估算出这个集群的最大 insert qps ,
  2. 目前应该没有达到写入 qps 的上限, 我们现在正在两台两台机器的往上加写入的并发, 但是又怕影响集群的整体性能, 应该如何观察, 看哪些指标判断是否到达了瓶颈以及是否影响集群的整体性能

表结构:


id 是 uuid 生成的, 分散,
UNIQUE KEY uk_eventid (eventid),eventid 是 md5 生成的, 所以应该没有热点问题

  1. insert qps 感觉不好估算,可以参考 sysbench 的压测数据,但是具体的业务还是区别比较大。
  2. 可以观察grafana over-view 中的 cpu ,memory,IO,负载是否到瓶颈。 集群性能可以主要查看 duration 信息,如果tidb中的duration变化没有明显升高,应该对业务影响就不大。

看 system overview 里面机器资源应该都没有到瓶颈, 我们刚刚提高了并发, 多加了两台机器, 然后就有其他业务来说写入慢了, lag 增加了, 看 duration 也没有明显变化, 接下来该咋办?

  1. 集群尽量不要混部署多个业务,很有可能被其他业务影响
  2. 不知道你们是不是不同的业务连接的tidb不同,可以看下每个tidb-server的时间,或者具体慢的那个连接server,是不是比较慢。
  3. 对照 TiDB 调优辅助神器 TiDB Performance Map 即将上线!欢迎试用反馈 先检查下。