gpt4 book ai didi

mysql - 使用 haproxy 负载平衡 percona

转载 作者:行者123 更新时间:2023-11-29 11:20:40 25 4
gpt4 key购买 nike

我正在尝试为具有 3 个不同节点的 percona DB 配置 ha-proxy。我的配置如下-

backend mysql_backend
mode tcp
option tcplog
balance leastconn
option httpchk default-server port 9200 inter 5s downinter 10s rise 3 fall 2 maxconn 256
server percona1 percona-1:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450
server percona2 percona-2:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450 backup
server percona3 percona-3:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450 backup

在上述配置中,*maxconn 450* 指定将发送到此 server1(即 percona1)的最大并发连接数。现在我脑海中浮现出有趣的事情,如果

  1. 连接数达到450,又来了一个请求??第 451 个请求将被排队还是将被转发到 percona2/percona3(这是一个备份服务器,以防 percona1 失败,但这里 percona1 没有失败但达到限制)

  2. Percona1(my.conf) 配置为一次可以处理多达 250 个连接,但从代理服务器来看,它会获得超过 250 个连接,如代理服务器中配置的 450 个连接。

我的问题是在上述场景中会发生什么?

我已阅读文档,但我没有得到任何明确的信息。我们将非常感谢您的帮助。

最佳答案

我猜您正在谈论 Percona XtraDb Cluster,因为以这种方式将 HAproxy 与 3 个独立的 MySQL 实例一起使用将导致灾难(如果它们是独立的实例,请立即重新构建!!)。以下是您的问题的答案:

  1. 如果将 maxconn 配置为 450,则第 451 个连接将排队并等待与服务器的打开连接。 (documentation 很清楚) *需要注意的一点是,您应该检查 HAproxy 进程的 ulimit -n ,以确保其连接限制超过 1350 (450 * 3 个节点)*
  2. 我不完全确定我理解这个问题,但如果您指的是 mysqldmax_connections 参数,那么您应该将该参数设置为略高于该特定服务器的 HAproxy maxconn值以避免超时

关于mysql - 使用 haproxy 负载平衡 percona,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com