新手Jmeter问题



所以我需要用几千个长轮询请求来固定一个系统。

我创建了一个具有必要数量请求的线程组。有几件事让我困惑。

(我在mac上)

  1. 我运行jmeter.sh脚本来启动gui。除非运行jmeter服务器,否则我无法运行测试。如果没有它,我会收到一条"无法连接到127.0.0.1…"的消息。文档中没有提到需要启动这个脚本。

  2. 在jmeter.sh脚本中,我将最大内存设置为export JVM_ARGS="-Xms4096m -Xmx4096m"。尽管如此,每当我开始运行测试时,我都会立即查看

Uncaught Exception java.lang.OutOfMemoryError: unable to create new native thread. See log file for details.

  1. 我试着无头地进行测试,结果并没有好转;它在停止之前通过了大约2k个请求。我希望大约有40-50k个线程(即请求)。我不能重用线程(据我所知)作为这种长轮询,所以请求会被阻塞,直到有什么东西导致它们释放

有什么建议吗?提前Thanx。

这没有意义。您不应该运行jmeter-server,除非您需要在服务器模式下运行meter,比如使用远程引擎。

根据您运行的java版本,您可能会超出jmeter使用的JVM可用的内存空间。不确定为什么要分配4 GB。512M或者1024M应该没问题。我发现Jmeter可能会随着时间的推移而泄漏。

您的无头测试应该会指示您使用Jmeter时内存或线程空间不足,或者更可能的是,您的服务器负担过重,可能会耗尽线程池。

我要做的第一件事是将内存更改为更保守的东西,比如-Xms1024m-Xmx1024m。此外,40-50k请求不是40-50k线程。它们是相互作用的概念,但不一定是同一回事。所以,也许您在Jmeter中设置了一些注定会因为创建太多并发线程而失败的东西。

最新更新