引言:
(1)Jmeter 是纯java 应用,对于CPU和内存的消耗比较大,并且受到JVM的一些限制;
(2)单台机器模拟的时候,如果并发数量较多且发送的网络包较大时,单机的网络带宽就会成为测试瓶颈,无法真正模拟高并发,导致测试结果失真(例如在要一秒内发送3000个请求,合计512kb,但是测试电脑只有256的上传带宽,那么实际测试的时候只是模拟了在一秒内发送1500个请求(256kb)的场景,导致测试结果失真。下载带宽的影响也是类似的);
(3)真正的业务场景并发,应该是用户数大,每个用户的请求数小。如:更可能是1000个用户在2秒内各发起2个请求,而不是200个用户在2秒内各发起10个请求,虽然总的请求数都是2000个。
Jmeter分布式执行原理:
- Jmeter分布式测试时,选择其中一台作为调度机(master/Controller),其它机器做为执行机(slave/Agent)。
- 执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave需要提前在apache-jmeter-5.3/bin目录下启动./jmeter-server。
- 执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。
Jmeter分布式环境配置:
Note: 官方推荐Jmeter单个slave机并发2000是最合适的配置。
1. 物理机:
- Master机:Windows物理机
- Slave1: Linux虚拟机
- Slave2: Linux虚拟机
2. Linux安装JAVA环境
(1)Java SE 下载
地址: https://www.oracle.com/java/technologies/javase-jdk14-downloads.html(我用的jdk 1.8版本)
(2)将下载的JDK压缩包通过xshell命令上传到Linux上
在xshell上输入命令: 【
sudo rz
】, 然后选择JDK压缩包,并上传到Linux上
(3)解压JDK安装包,并安装。
- 解压缩命令为:tar -zxvf 文件名 -C 目标目录 【tar -zxvf jdk-14.0.1_linux-x64_bin.rpm -C /usr/local/】
- 查看解压文件 【ll /usr/local/】
版权声明:本文为weixin_47498496原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。