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

时间:2014-01-06 05:24:07

标签: jmeter jmeter-plugins

我已经创建了一个用于创建userprofile的测试计划。 我想为100个用户运行我的测试计划,但是当我为10个用户运行它时,它已成功运行rump up时间为2 sec;但是,当我尝试100个用户和&不仅仅是它失败了我为100个用户提供了rump uptime 40 sec。 我无法理解它可能带来的问题。

在我的测试计划中,线程用户使用id

进行区分

先谢谢。

2 个答案:

答案 0 :(得分:0)

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

引起的
  1. 您正在测试的应用程序无法处理100个线程的负载。检查日志中的错误,并确保应用程序/ Web服务器和/或数据库配置允许100多个并发连接。您还可以查看“Latency”指标,了解基础架构或应用程序本身是否存在问题。
  2. 您的负载生成器计算机无法创建100个并发线程。如果是这样 - 你需要考虑JMeter Distributed Testing
  3. 您的脚本未经过优化。即使用内存消耗的监听器,如“查看结果树”,任何图形监听器,正则表达式提取器。请尝试关注JMeter Performance and Tuning Tips guide,看看它是否可以解决您的问题。

答案 1 :(得分:0)

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

你还可以尝试一下。

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

你可以像这样在非ui模式下运行你的jmeter脚本,

Jmeter -n -t -H proxy -P port

一般在单个双核机器上使用2 GB RAM(在您的情况下为Load Generator),可以成功进行100次用户测试。

您可以查看更多内容以找出实际的瓶颈

1.检查应用程序服务器日志(托管应用程序的服务器)

如果有任何失败,那么请查看服务器(CPU,内存,网络等)上的性能计数器,看是否有任何重载。 (如果服务器是windows然后使用perfmon检查,如果linux然后尝试sar)
如果有什么东西超载那么理由是您的应用服务器无法承担100个用户的负载 可能会尝试更多调整它。

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

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

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

也许这会有所帮助:)