我们有两个最近升级的Plone 4.3.2实例,它们位于haproxy负载均衡器后面,它本身就落后于Apache。
我们将每个Plone实例限制为使用haproxy配置服务两个并发请求。
我们最近遇到了一个问题,即客户端快速连续发送4个字节范围的请求,每个请求需要6到8分钟才能得到响应。这会将所有可用请求锁定6分钟,因此haproxy会超时排除队列中的其他请求。 PDF在Plone中存储了一个ATFile对象,我认为它应该在我们最近的升级中迁移到blob存储。
我的问题是我们应采取哪些措施来防止将来出现类似情况?
我也对:
感兴趣这里要求的是删除了多余配置的haproxy.cfg。
global
maxconn 450
spread-checks 3
defaults
log /dev/log local0
mode http
option http-server-close
option abortonclose
option redispatch
option httplog
timeout connect 7s
timeout client 300s
timeout queue 120s
timeout server 300s
listen cms 127.0.0.1:18181
id 3
balance leastconn
option httpchk
http-check send-state
timeout check 10s
acl cms_edit url_dom xxx.xxx.xxx.xxx
acl cms_not_ok nbsrv() lt 2
block if cms_edit cms_not_ok
server cms_instance1 app:18081 check downinter 10s maxconn 2 rise 1 slowstart 300s
server cms_instance2 app:18082 check downinter 10s maxconn 2 rise 1 slowstart 300s
答案 0 :(得分:0)
您可以安装https://pypi.python.org/pypi/Products.LongRequestLogger并检查其日志文件以查看请求卡住的位置。
答案 1 :(得分:0)
我选择禁用对后端Zope服务器的字节范围请求。我已将以下内容添加到haproxy的CMS listen部分。
reqidel ^Range:.*