【 TiDB 使用环境】测试环境
【 TiDB 版本】V7.5.4
【复现路径】3台12C 48G服务器做增删改查并发压测,2000线程下结果正常,增大到5000后,CPU和内存使用率在半小时左右就会达到80%以上,性能大幅下降,调用的是其中一台服务器的6000端口,tidb的proxy是可以实现自动负载均衡? 从监控来看,服务器的CPU忽高忽低,压力并不均衡,是我的用法有问题?
即使有负载均衡,如果数据在存储层面分布不均匀,也可能导致某些服务器处理的数据量远多于其他服务器,从而出现CPU压力不均衡的现象。比如,存在热点数据区域,大量的并发请求都集中在这些热点数据上,而这些数据所在的服务器节点就会承受较大的压力。可以通过分析数据访问模式、查看存储层面的数据分布情况(如TiKV中Region的分布等)来排查是否存在数据热点问题。
1 个赞
TiDB的参数怎么配置的。比如 max-connections
值,可以参数方面做下优化
为什么不用haproxy呢
可以先换haproxy试试,如果还是出现性能下滑,那应该是并发过大,导致CPU频繁处理中断影响了效率(官方文档里有一段提过最佳连接数)。
tiproxy的配置也发一个看看吧。可能和配置有关。
不过在压测的情况下,所有连接的负载都会很高,这种场景用haproxy确实会有所提升。直接用haproxy再尝试也是个好的选择。
图中是 TiDB 的 CPU 还是 TiProxy 的 CPU?
CPU 和内存达到 80% 是指 TiDB 的还是 TiProxy 的?
CPU 忽高忽低是指 TiDB 的还是 TiProxy 的?