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