如何在 jmeter 中为 3000 个用户运行 50 个循环的负载测试?

Posted

技术标签:

【中文标题】如何在 jmeter 中为 3000 个用户运行 50 个循环的负载测试?【英文标题】:How to run load test for 3000 users with 50 loops in jmeter? 【发布时间】:2021-04-19 13:32:58 【问题描述】:

我尝试在 jmeter 中运行 3000 个用户和 50 个循环的负载测试。但它显示了这个错误。

[9.746s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 4k, detached.
Uncaught Exception java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached in thread Thread[StandardJMeterEngine,5,main]. See log file for details.

我还尝试使用-增加堆大小- HEAP:="-Xms2g -Xmx2g -XX:MaxMetaspaceSize=2g"

但同样的 OutOfMemory 问题仍然存在。 笔记本电脑的 RAM - 8GB 感谢您的帮助

【问题讨论】:

【参考方案1】:

我不认为修改堆会有帮助,这个错误的根本原因是底层操作系统无法创建新线程。

如果您使用 32 位 Java - 升级到 64-bit server JRE 如果您运行的是 Linux - 使用 ulimit 命令检查 max user processes 值 通过-Xss 选项减少堆栈大小

如果您已经尝试了所有方法 - 唯一的解决方法是在另一台机器上安装 JMeter 并选择 Distributed Testing

【讨论】:

以上是关于如何在 jmeter 中为 3000 个用户运行 50 个循环的负载测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VS 2013 中为 200 个用户运行 Web 性能测试?

如何针对多个请求顺序运行jmeter采样器

如何在jmeter中同时运行线程

如何将用户定义的变量值限制为jmeter中的特定线程组

如何在jmeter中为SOAP请求添加正确的签名

在为 Drupal 应用程序加载 50 个用户的情况下运行 jmeter 测试一段时间时出错