我正在使用Jmeter加载测试我的Web应用程序。我有两个Web服务器,我们正在使用HAProxy进行负载平衡。我的所有测试运行正常并且配置正确。我有三个jmeter远程客户端,所以我可以分发运行我的测试。我面临的问题是我的所有jmeter请求仅由其中一个Web服务器处理。由于某种原因,它不平衡,我有很多时间,而且响应时间很长。我已经四处寻找能够平衡这些要求的方法,但到目前为止我没有运气。有谁知道这种行为的原因是什么?如果您需要先了解我的环境,请告诉我,我会提供答案。
答案 0 :(得分:1)
检查haproxy配置:
它的负载均衡策略是什么,如果不是循环,它是基于ip源还是你的3个远程服务器可能常见的其他信息?
你确定负载均衡正常吗?如果您可以添加一些有关Web服务器的信息以响应调试
检查测试计划:
你确定你的请求中没有硬编码的jessionid吗?
您配置了多少线程?
答案 1 :(得分:0)
默认情况下,在您的Jmeter脚本中,HTTP请求"使用KeepAlive"标题选项已选中。
Keep-Alive是一个标头,用于维护之间的持久连接 客户端和服务器,防止连接中断 间歇。也称为HTTP keep-alive,它可以定义为a 相反,允许相同的TCP连接进行HTTP通信的方法 为每个新请求打开一个新连接。
这可能会导致所有请求都转到同一台服务器。只需取消选中该选项并保存,停止脚本并重新运行。