1

我正在使用 Jmeter 对我的 Web 应用程序进行负载测试。我有两个 Web 服务器,我们使用 HAProxy 进行负载平衡。我所有的测试都运行良好并且配置正确。我有三个 jmeter 远程客户端,所以我可以运行我的分布式测试。我面临的问题是我所有的 jmeter 请求都只由其中一个 Web 服务器处理。由于某种原因,它不平衡,我有很多超时和巨大的响应时间。我已经四处寻找一种使这些请求保持平衡的方法,但到目前为止我还没有运气。有谁知道这种行为的原因是什么?如果您需要先了解我的环境,请告诉我,我会提供答案。

4

2 回答 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 回答