如何在 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 个循环的负载测试?的主要内容,如果未能解决你的问题,请参考以下文章