我们有Apache作为反向代理使用代理平衡器运行我们运行从7个云计算机的JMeter负载testing,但stream量似乎并没有平均分配我认为这是一个Apache的configuration问题,但不知道是什么
基本上在我们的VirtualHost指令中我有:
ProxyPreserveHost on ProxyRequests Off ProxyPass / balancer://my-site/ ProxyPassReverse / balancer://my-site/ Header add Set-Cookie "route=.%{BALANCER_WORKER_ROUTE}e; path=/"
和
<Proxy balancer://my-site> BalancerMember https://MYMACHINE:8443 route=1 loadfactor=20 BalancerMember https://MYMACHINE:8443 route=2 loadfactor=20 ProxySet stickysession=route </Proxy>
起初它没有loadfactor = 20和负载平衡没有做好之后,我增加了它有改善,但不是很好。 交通仍然会被路由到1-2台以上的其他机器(我们一共有5台机器)。
由于您正在运行粘性会话,因此不能期望每个成员的工作量都完全一致。 如果我理解你是正确的,你有7台机器发出请求,5台机器在平衡器上回答这些请求 – 如果是这样的话,那么3台服务器分别获得1个客户端和2个服务器获得2个客户端 – 这是完全可以预料的。
随着节点数量的增加,这个数量将会减less,但是当你使用粘滞会话的时候,不可能获得完美的均匀分布。
请求的dynamic分配默认情况下会考虑已分配的请求计数,但在粘贴后显然不能对节点进行更改; 它不会计算每个后端有多less节点。
您可以尝试将ProxySet lbmethod=bybusyness添加到您的<Proxy balancer://my-site>configuration中; 这可能有助于为更高的负载提供更多信息(但在处理如此低的客户端数量时不会改变任何内容)。