1

我已经创建了一个用于创建用户配置文件的测试计划。我想为 100 个用户运行我的测试计划,但是当我为 10 个用户运行它时,它运行成功,rump up时间为2 sec; 但是当我为 100 个用户试用它时,它会失败,我rump uptime40 sec为 100 个用户提供服务。我无法理解它可能有什么问题。

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

提前致谢。

4

2 回答 2

0

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

  1. 您的被测应用程序无法处理 100 个线程的负载。检查日志中的错误并确保应用程序/Web 服务器和/或数据库配置允许 100 多个并发连接。您还可以检查“延迟”指标以查看基础架构或应用程序本身是否存在问题。
  2. 您的负载生成器机器无法创建 100 个并发线程。如果是这样 - 你需要考虑 JMeter分布式测试
  3. 您的脚本未优化。即使用诸如“查看结果树”之类的消耗内存的侦听器、任何图形侦听器、正则表达式提取器。尝试遵循JMeter 性能和调优技巧指南,看看它是否能解决您的问题。
于 2014-01-06T10:17:50.790 回答
0

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

您还可以尝试一件事。

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

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

jmeter -n -t -H 代理 -P 端口

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

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

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

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

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

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

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

也许这会有所帮助:)

于 2014-01-08T07:17:26.343 回答