Haproxy负载Tidb数据库如何测试

【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.1.1
【复现路径】使用Haproxy做数据库的负载均衡,负载和集群服务都启动成功,但是想测试下均衡的规则,输入相关命令,和自己期望的不一样,不清楚原因,或者应该如何测试呢
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
自测结果:


期待结果:

是不清楚连接到哪个节点了吗?

    option tcplog
    option tcpka
    balance roundrobin
    server 10.10.95.14  10.10.95.14:3306 check inter 1000 rise 3   maxconn 8000 fall 3 backup
    server 10.10.95.12  10.10.95.12:3306 check inter 1000 rise 3   maxconn 8000 fall 3

haproxy配置,连接进去后看一下tidb的连接数就知道连接到哪台机器上了。

  1. select * from INFORMATION_SCHEMA.CLUSTER_PROCESSLIST;

    INSTANCE 列就是tidb sever ip

  2. 你的查询也可以,应该是tidb server 没有配置主机名

1 个赞

想问的是不知道连哪个节点了吗?
你那个sql确实查不出来,给你个sql查

select instance from INFORMATION_SCHEMA.CLUSTER_PROCESSLIST where id=(select connection_id());

1 个赞

配置文件怎么看连接数,这个不是启动前设置好的吗,而且我的跟官方的一致,就改了一个ip

我的配置是:


把我的sql换成你的之后,执行多次怎么显示的都是同一类机器,是因为我的策略是最少链接数的原因吗,因为我刚创建的集群,现在没有使用,每个数据库应该都没有连接,如果都是0的话,不应该轮训连接吗

是的,就是在控制台多次执行命令后看下轮训策略是啥
把我的sql换成你的之后,执行多次怎么显示的都是同一个机器,是因为我的策略是最少链接数的原因吗,因为我刚创建的集群,现在没有使用

你开了多少个连接?前面连接不要关,开几十个窗口看看怎么连的。

目前看你测试方法有问题,关闭连接对于haproxy来说每次你连的时候连接数都是0

mysql 登录后不要退出,开新窗口继续登录,然后查看每个连接

haproxy配置文件中的listen admin_stats+ stats uri,可以登录上去监控,查看连接情况

嗯嗯,是我看错了,同一个窗口执行多次实例返回的ip不一样,刚开始是我看错了

嗯,现在对面板参数还不清楚具体的含义,以后研究下

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