performance-testing - JMeter 线程用户限制 - 并发执行 5000 个线程
问题描述
我试图测试我的电脑可以处理多少 VU 限制。到目前为止,我尝试在 GUI 模式下运行 5000 个 VU,它工作正常,所以想知道这是否真的是正确的方法。这是我的笔记本电脑规格:
16GB DDR4、512GB SSD、i5 第 7 代
目前我已经测试了 6 个 HTTP 请求,线程组信息如下:
谁能验证我是否在做正确的方法来测试极限?为什么在运行测试时,右上角运行的用户数仍然是47?但是在测试结束时,它确实显示它在摘要报告监听器中以5000 VU结束(请参考第一张截图中的Jmeter日志)
解决方案
线程组中只有 1 个循环和 120 秒的加速,因此 JMeter 每秒启动 41 个用户。一旦启动,用户开始倒置执行采样器,当最后一个采样器完成时,线程将被关闭。
因此,您会遇到一些线程已经完成工作并结束而一些尚未启动的情况。如果您想达到 5000 个用户,那么您需要在
Infinite
Loop Count 旁边打勾并指定Thread Lifetime
大于您的启动时间。根据JMeter 最佳实践 ,您应该:
- 在命令行非 GUI 模式下运行测试
- 禁用或删除所有侦听器 ,因为它们不会增加任何价值,只会消耗资源
完成非 GUI 测试执行后,您可以使用您选择的侦听器打开.jtl 结果文件,也可以从中生成 HTML 报告仪表板并分析结果
推荐阅读
- java - 如果用户按下转义或 X 按钮(Java Swing),则在“JOptionPane.showInputDialog”中显示错误
- android - 通过 HTML5 访问 Android 设备的相机
- javascript - JavaScript MouseOver 仅适用于 Velocity #foreach 语句中的第一个实例
- android - setImageResource 总是给出 OutOfMemoryError
- node.js - 使用 puppeteer 生成的 PDF 中的所有页面中的表标题都没有重复
- java - 如何使用 Firebase 实时数据库删除某些特定行?
- android - 方向改变时对话框片段消失
- python - Kivy 简单多线程 python
- c++ - 定时器超时复位
- anylogic - AnyLogic 中的红绿灯时间延迟