JMeter最多可以模拟多少测试用户?

测定脚本示例下载:

  https://files.cnblogs.com/files/JonSnows/GetWeather.zip

增加JMeter堆空间来产生一个更大的负载

JMeter是基于java虚拟机的,默认的 jmeter.bat(在JMeter的bin目录下)中的参数设置如下:

img

JDK 32位:-Xmx通常限制在1.5G~2G。

JDK 64位:-Xmx无限制。

默认最大堆内存为 512m:

  set HEAP=-Xms512m -Xmx512m

分配 2 GB (2048 MB) 的内存:

  set HEAP=-Xms512m -Xmx2048m

机器的内存不止2GB,JMeter产生的负载不够大,可以启动多个jmeter实例。

(补充:同一台机器启动多个JMeter,每个jmeter都是一个独立的进程,端口会自动分配,不会造成冲突的)。

JMeter测试运行于非GUI模式

配置环境变量:

  JMETER_HOME=D:\apache-jmetes\apache-jmeter-4.0

  path=%JMETER_HOME%\bin

  CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar; // 这个不知有什么用

为了将测试运行于非GUI模式,你需要将脚本保存为一个JMX文件 (我们把它命名为 ‘JMeterLimitationsTest.jmx’) 并执行下面这个命令:

先用JMeter创建一个JMX测试脚本文件并保存,命名为 “JMeterLimitationsTest.jmx”,执行命令:

  jmeter -n -t JMeterLimitationsTest.jmx

将负载脚本运行在非GUI模式可以节省很多机器资源,避免无谓的内存浪费。


将JMeter运行在一台普通的手提电脑上来模拟高达10000用户,取决于下面3个简单的规则:

  将JMeter性能测试运行于非GUI模式。

  提高JMeter堆空间来产生更高的负载。

  使用本地网络而不是Wi-Fi连接来运行你的负载测试。

关于问题 “JMeter最多可以模拟多少用户?”的答案是不同的. 它取决于许多因素: 测试的复杂度, 脚本运行的方式, 网络和机器的性能等。

假如你的电脑JMeter用户数的极限是10000,但你需要模拟更多的用户数时该怎么办? 下面是可以做的:

1、开启JMeter的分布式脚本测试模式并在多个机器上运行,然后合并测试结果.通过这种方式你可以无限水平扩展你的脚本,除了可分配给你做测试运行的机器数外。

2、你也可以使用云解决方案. BlazeMeter 提供了一个简单易用的测试平台, 可以让你运行随心所意的用户数。