面向新手的Jmeter问题

面向新手的Jmeter问题,jmeter,Jmeter,因此,我需要将一个系统与数千个长轮询请求挂钩 我创建了一个线程组,其中包含所需数量的请求。有几件事使我困惑 (我在mac电脑上) 我运行jmeter.sh脚本来启动gui。除非运行jmeter服务器,否则无法运行测试。如果没有它,我会收到一条“无法连接到127.0.0.1…”消息。文档中没有提到需要启动此脚本 在jmeter.sh脚本中,我将最大内存设置为export JVM_ARGS=“-Xms4096m-Xmx4096m”。尽管如此,无论何时开始运行测试,我都会立即看到 未捕获异常java.

因此,我需要将一个系统与数千个长轮询请求挂钩

我创建了一个线程组,其中包含所需数量的请求。有几件事使我困惑

(我在mac电脑上)

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

  • 在jmeter.sh脚本中,我将最大内存设置为
    export JVM_ARGS=“-Xms4096m-Xmx4096m”
    。尽管如此,无论何时开始运行测试,我都会立即看到

  • 未捕获异常java.lang.OutOfMemoryError:无法创建新的本机线程。有关详细信息,请参阅日志文件。

  • 我试着无头运行我的测试,结果没有好转;在停止之前,它可以通过大约2k个请求。我希望大约有40-50k个线程(即请求)。我不能重复使用线程(据我所知),因为这是一个很长的轮询,所以请求会被阻塞,直到有东西导致它们释放
    有什么建议吗?Thanx提前到达。

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

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

    您的headless测试应该告诉您Jmeter的内存或线程空间不足,或者更可能的情况是,您的服务器负担过重,可能耗尽了线程池


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

    我听到了。我在mac电脑上,从未安装过;我直接从解压后的下载中运行--可以吗?我只是在它失败后才增加内存--我立即得到内存不足错误。另外,当我尝试在没有运行服务器的情况下从GUI运行时,为什么会立即出错?最后,我正在测试长轮询,所以请求不会返回,直到我做了一些事情来引起它们——所以我认为它需要是1个请求/线程(但可能是错误的)。我建议在Mac上使用类似自制的东西安装仪表。我使用自制的一切,他们有一个包。然后是一个简单的brew安装仪表命令。Jmeter脚本在启动时从本地应用程序中查找响应。因此,如果您的应用程序在端口8080上运行,它看起来像。localhost等于127.0.0.1,这是您的计算机的环回地址;虚拟接口。对于需要在测试中模拟此情况的长轮询,请在模拟响应的线程组中添加延迟。要遵循我的上一条评论,请确保您的应用程序正在localhost上运行,并且您没有任何与HTTP请求默认值相矛盾的HTTP请求设置(如果您使用)。此外,正如其他观看此线程的人所建议的那样,我应该提到一个线程相当于一个用户,即1个线程=1个用户,但1个用户可以创建“n”个请求。这是一个重要的概念。您必须确定您的用例是否需要这种模型,并相应地更改测试,因为它将影响资源使用。Oops的意思是:brew安装jmeter