Jmeter-使用云中的负载发生器测试时,每个线程的不同IP addres



我的当前设置是jmeter脚本每个负载生成器200用户(在云中使用AWS)我有10个发电机(2000个线程)。

在设置中,我们有一个负载平衡器,它可以执行圆形robin,但是负载发生器有时会平衡,而其他时间则使用一个或两个应用程序服务器(总计10)。在现实生活环境中,我们将使每个线程具有不同的IP地址,因此它们将正确平衡。

是否有每个线程具有自己的IP地址的地方。(当前每个负载生成器都有自己的IP地址)

我需要它来处理我当前的设置。欢迎任何想法。

Jmeter版本2.13或3.1

,由于您有10个不同的负载发生器,具有10种不同的IP,而在负载平衡器后面有10个应用程序服务器,我希望负载平衡器在您的假设为时,每个负载生成器分配了一个应用程序,正确。

您可能有:

  • 负载平衡器错误配置,这会导致所有客户端植根于单个应用程序服务器(粘性会话?),
  • 或负载测试脚本错误配置(动态参数未正确处理?),导致所有用户使用相同的登录/会话,这会导致负载均衡器将其发送到同一应用程序服务器。

我将使用单个加载生成器监视应用程序服务器和负载平衡器,以查看用户是否全部发送到同一应用程序服务器。然后尝试使用2个负载生成器(具有不同的IP),以查看是否正在击中2个应用程序服务器。

一些付费工具支持基础架构监视。您可以使用一个免费帐户并在多个区域(有多个IP)中模拟测试以找出。

其他资源:

  • Apache HTTPD监视
  • apache tomcat监视

也有免费的监视工具,例如Zabbix,可以通过您的自定义Jmeter AWS设置使用。

首先,请确保您正在为http请求设置不同的源地址,请访问http://blog.milamberspace.net/index.php/2009/12/12/03/changer-ladresse-ip-source-dune-requete-http-lors-dun-tun-test-test-avec-jmeter-549.html文章以获取更多信息。

也可能是由于您的DNS请求的OS或JVM缓存,特别是如果您的申请位于ELB

后面

确保您将DNS CACHE管理器添加到您的测试计划中,以便每个Jmeter线程都可以自行解决基础IP地址。有关更多详细说明,请参见DNS缓存管理器:测试负载平衡应用程序文章的正确方法。

要避免问题,您需要确保使用的负载生成器的总数位于Web服务器数量的倍数中。让我们说您的应用程序有3个网络服务器。您可以使用3/6/9/12负载发生器,其中所有负载均匀分配。如果您使用粘性会话,则不能使用4/7/10等。如果这样做,您将始终看到要比其他请求更多的请求。

最新更新