jMeter中具有不同输入的多个用户/线程登录



我已经创建了一个用于创建用户配置文件的测试计划。我想为100个用户运行我的测试计划,但当我为10个用户运行它时,它成功运行,rump up时间为2 sec;但是当我为100个用户试用时&更重要的是,它正在失败,我为100个用户提供40 sec中的rump uptime。我不明白它可能出了什么问题。

在我的测试计划中,线程用户使用id 进行区分

提前感谢。

这是一个广泛的问题,这种行为可能是由引起的

  1. 测试中的应用程序无法处理100个线程的负载。检查日志中的错误,并确保应用程序/web服务器和/或数据库配置允许100多个并发连接。此外,您还可以检查"延迟"度量,以查看基础结构或应用程序本身是否存在问题
  2. 您的load generator计算机无法创建100个并发线程。如果是这样,您需要考虑JMeter分布式测试
  3. 您的脚本未优化。即使用消耗内存的监听器,如"查看结果树"、任何图形监听器、正则表达式提取器。请尝试以下JMeter性能和调整提示指南,看看它是否解决了您的问题

同意德米特里的观点,原因可能是以上三种之一。

还有一件事你可以试试。

您可以在ui模式下运行jmeter以验证脚本,验证后可以在非ui模式下进行运行,这将节省大量内存和cpu处理(基本上ui是jmeter中最重要的部分)。

你可以在非ui模式下运行jmeter脚本,比如

Jmeter-n-t-H代理-p端口

通常在具有2GB ram的单双核机器上(在您的情况下为Load Generator)可以成功进行100用户测试。

你可以查看更多的东西来找出实际的瓶颈

1.检查应用程序服务器日志(您的应用程序所在的服务器)

如果其中有任何故障,请查看服务器上的性能计数器(CPU、内存、网络等),以查看是否有任何过载。(如果服务器是windows,则使用perfmon进行检查;如果是linux,则尝试sar)
如果有些东西过载,则原因是您的应用服务器无法承载100个用户可能会尝试对其进行更多调整。

2.检查负载生成器系统性能计数器(JVM堆使用率、CPU、内存等)

如果JVM堆大小足够小,请尝试增加它,但如果其他计数器过载,则尝试分布式负载测试。

3.从脚本中删除不需要的/繁重的侦听器、断言。

也许这会有所帮助:)

最新更新