首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于haproxy的负载平衡percona

基于haproxy的负载平衡percona
EN

Stack Overflow用户
提问于 2016-08-16 17:01:31
回答 1查看 450关注 0票数 0

我试图用3个不同的节点为percona配置ha代理。我的配置如下-

代码语言:javascript
复制
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次请求是否会被排队,或者它将被转发到percona1 2/ percona1 3(这是一个备份服务器,以防percona1失败,但在这里,percona1没有失败,但达到极限)
  2. Percona1(my.conf)被配置成可以一次处理多达250个连接,但是在代理服务器中,它得到超过250个到450的连接,就像在代理服务器中一样。

我的问题是,在上述情况下会发生什么?

我读过文档,但是我必须获得任何清晰的信息。我们会非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-08-17 14:50:25

我猜您是在谈论Percona XtraDb集群,因为以这种方式使用HAproxy与3个单独的MySQL实例将导致灾难(如果它们是单独的实例,那么现在就重新架构!)以下是你的问题的答案:

  1. 如果配置为450个maxconn,则第451个连接将排队等待与服务器的打开连接。( 文档非常清楚)*需要注意的一点是,您应该检查HAproxy进程的ulimit -n,以确保它的连接限制超过1350 (450个*3个节点)*
  2. 我不完全理解这个问题,但是如果您指的是mysqldmysqld参数,那么您应该设置该参数略高于该特定服务器的HAproxy maxconn值,以避免超时。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38980607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档