作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几个月来我们遇到了一个奇怪的小问题:
我们集群上的负载(http,具有大量非常短(<100 毫秒)请求的长期保持事件连接)分布非常不均匀。所有服务器都以相同的方式配置,但一些每秒推送数千个请求的连接最终只被发送到一台服务器。我们尝试了两种负载平衡策略,但这无济于事。它似乎与 keepalive 严格相关。
行为不端的后端具有以下设置:
option tcpka
option http-pretend-keepalive
选项 http-server-close
是否用于解决该问题?如果我做对了,它会关闭并重新打开很多连接,这意味着系统负载?有没有一种方法既可以保持连接打开又可以均衡流量?我尝试启用该选项,但它会在负载不足时终止我们所有的后端。
最佳答案
HAProxy 目前只支持客户端的 HTTP 连接,不支持服务器。如果您希望能够检查(和平衡)每个 HTTP 请求,您目前必须使用以下选项之一
# enable keepalive to the client
option http-server-close
# or
# disable keepalive completely
option httpclose
选项 http-pretend-keepalive
不会改变 HAProxy 在连接处理方面的实际行为。相反,它旨在作为服务器在看到非保持连接(由 HAProxy 生成到后端服务器)时无法正常工作的解决方法。
对后端服务器保持事件的支持计划在最终的 HAProxy 1.5 版本中提供。但实际范围可能仍会有所不同,最终发布日期是 future 的某个时间......
关于Haproxy:Keepalive 连接不均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19946436/
我是一名优秀的程序员,十分优秀!