tidb集群的tidb-server使用的F5做负载均衡,发现经常过出现负载并不均衡的问题,有没有更好的负载均衡推荐

【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.5.4
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】tidb集群的tidb-server使用的F5做负载均衡,发现经常过出现负载并不均衡的问题,有没有更好的负载均衡推荐


haproxy和tiproxy这两个负载组件,使用哪个更好一些呢?

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

针对这种场景,TiProxy 的负载均衡策略主要有两点改进:

  1. 负载均衡是动态的,能把连接从一台 TiDB 迁移到另一台,而不只是在路由时做负载均衡,这对长连接的应用更有效。例如你使用了连接池,而每个连接的负载是不固定的,所以 TiDB 的负载也是起伏的。又例如,你新扩了一台 TiDB 出来,长连接也会迁到新 TiDB 上。
  2. 负载均衡是基于资源使用率的,而不仅仅是 round-robin、随机这些简单的策略,因为简单策略假设每个连接的负载是相同的,但数据库应用更随机多变。

根据以上你的截图,我简单猜测下:要么 237 是新扩出来的节点;要么是断开连接时,刚好 237 上断开的连接更多。

你可以基于自己的工作负载做一些测试和对比。

2 个赞

:yum:虽然我们公司现在用的是haproxy,但是我们觉得原厂的TiProxy应该更好,正准备在新版本中验证使用TiProxy。