当前位置: 首页 > 知识库问答 >
问题:

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

公羊英达
2023-03-14

我试图在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个答案

琴元凯
2023-03-14

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

  • 如果您使用的是32位Java-升级到64位服务器JRE
  • 如果您运行的是Linux-使用ulimit命令检查最大用户进程
  • 通过-xss选项减小堆栈大小

如果您已经尝试了所有的方法--唯一的解决方法就是在多一台机器上安装JMeter,然后进行分布式测试

 类似资料:
  • 我如何负载测试一个同时有300个用户使用jmeter的登录页面(而不是一个又一个用户。同时有300个用户登录)?线程组的设置应该是什么?

  • 我需要加载测试一个需要OAuth2的API。0通过Gatling获得的代币(我完全是新手!)但希望每个虚拟用户使用相同的令牌。我正在检索令牌ok(我想)并将其放入一个名为“access”的变量中,但在测试本身开始时,我一直得到“没有定义名为“access”的属性”。 我的令牌检索如下所示(以及下面使用的httpConf): 然后,我尝试将负载测试设置为(注意:我最初确实放了“Map”,而不是可变变

  • 我制作了一些PHP脚本,我想测试JMeter中同时用户的响应时间。此脚本在很短的时间(50毫秒)内运行。 我想做的是模拟1到50个用户的负载测试,其中每个用户(线程)无限期地重复请求。首先我们将有一个用户,在两个同时的用户之后,在3个之后。。。等等 我正在尝试这样做,但我有一个响应时间,显然没有同时的请求。 使用HP loaddrunner,我们可以为每个线程定义迭代次数,这在JMeter中是否可

  • 我们正在使用web应用程序上的JMeter对1500个用户进行负载测试。我们正在分批进行。第一批100个用户,爬坡期300秒,我们循环15次。此方法是否适用于负载测试? 应用程序在负载测试时响应太慢?给我宝贵的建议?

  • 我提供的用户数=12,孵化率=2。我怎么能得到用户ID(s)的所有用户打我的网页,因为我想做一些自定义的对象名称的基础上得到创建(如文章标题)。 如何在创建新文章时传递用户信息(比如用户id)。因此,如果我对12个用户运行一个测试,我就会知道文章是由某个用户创建的。

  • 我有一个在线订购网站。如何用100个新用户加载测试同时使用jmeter订购一个产品(不是一个用户接一个用户。同时用100个用户订购)。 对于订单提交,用户必须进入多个页面,如菜单>结帐>篮子>您的详细信息与电子邮件和密码>付款>确认页面。我已经尝试了它的blazeMeter记录器工具为1用户订购过程,然后保存为JMX文件,然后导入到JMeter上。最终无法得到解决方案。我已经过了2-3天没有得到解