我们在 amazon ec2 上设置了 3 节点 PXC 集群。它已经工作了大约 4-5 个月。自上周以来,由于 MySQL 连接限制超出错误,每个节点都开始出现故障。我们增加了但max_connections
仍然没有帮助。自上周以来,我们有大约 1-2 小时的停机时间。
当一个节点失败(客户端连接失败)时,我登录到那个 MySQL 服务器并且我能够做一个SHOW FULL PROCESSLIST
但它只有 20-30 个连接。同时,当我尝试通过另一个终端连接到同一台服务器时,我收到了超出连接限制的错误消息。所以我做了一个netstat -na | grep 3306 | wc -l
,从负载均衡器 ip 到 3306 端口的连接正好有 500 个,有TIME_WAIT
状态。
max_connect_errors 1000000
max_connections 500
设置如下。
App1 ---> Haproxy1 ---> PXC Node1 App2 ---> Haproxy2 ---> PXC Node2 App3 ---> Haproxy3 ---> PXC Node3
每个haproxy配置1个活跃的mysql节点和2个备份服务器
server SQL1 xx.xx.xx.xx:3306 check port 50000 inter 3000 maxconn 160 rise 3 fall 3 backup
server SQL2 xx.xx.xx.xx:3306 check port 50000 inter 3000 maxconn 160 rise 3 fall 3
server SQL3 xx.xx.xx.xx:3306 check port 50000 inter 3000 maxconn 160 rise 3 fall 3 backup
我们还使用 percona 的 clustercheck 脚本在 xinex.d 的帮助下监控端口 50000 上的 mysql 节点
有什么建议么?