我有一个脚本,其中我使用吞吐量调整计时器来实现100 TPS/RPS。
当脚本在MAC系统上使用GUI模式执行时,它能够达到~99 TPS/RPS。但是,当我在Linux系统上执行它时,它几乎没有超过60 RPS/TPS。
在Linux操作系统上收到以下日志(相同脚本,因此线程组设置保持不变):
当前线程组设备服务中没有可用的空闲线程
下面给出了一些细节:
1.两个系统上的JMeter版本均为5.4.3(也将相同的JMeter复制到Linux VM)
- MAC操作系统版本为:11.6
- Linux操作系统版本为:红帽企业版Linux 8.6(Ootpa)
1.两个系统上的堆设置如下所示(甚至在Linux VM上将其增加到13 g):
“当前的元空间大小为256米”}”
请让我知道我应该做哪些设置,以实现类似的TPS/RPS与我的GUI在Mac上。
**所附图像中显示的线程组设置。**x1c 0d1x
1条答案
按热度按时间liwlm1x91#
1.首先,GUI模式用于测试开发和调试,当涉及到测试执行时,您应该在command-line non-GUI mode中运行测试,以便获得准确的结果
1.请确保使用相同的Java版本
1.确保使用相同(或至少相似)的硬件
1.确保检查资源消耗(CPU、RAM、磁盘、网络、交换空间使用等),因为如果您达到硬件或操作系统限制,您可能会得到假阴性结果,因为JMeter无法尽可能快地运行请求,如果是这种情况,您可能需要另一个Linux框和run JMeter in distributed mode
No free threads available in current Thread Group
表示没有足够的线程来达到/保持所需的吞吐量,您可以尝试增加线程组中的线程数,或切换到Concurrency Thread Group并通过反馈功能将其连接到吞吐量整形计时器