微信搜索关注公众号:测试小工,第一时间获取最新软件测试技术文章
JMeter分布式压测
1. 为什么要做分布式部署?
在上一篇文章中,我们提到了JMeter的线程启动和运行,是会占用系统资源的,一旦需要大并发,而JMeter单机部署配置不够,将会导致JMeter无法在规定时间内启动对应的线程数,无法对服务器产生预期的压力,最终影响到性能测试的结果。
为了解决单机部署JMeter产生的这类问题,我们引入了JMeter分布式部署。
2. JMeter分布式原理
JMeter分布式的实现,其实是在多台上机器部署java和JMeter。
其中有一台机器叫做控制机,我们称之为Master,主要用于JMeter脚本分发和收集汇总Slaves的测试结果。
其他机器叫做压力机,或者叫负载机,我们称之为Slaves,数量可以是1台或多台,主要用于执行JMeter脚本并将结果反馈给Master。
我们来看下Master和Slaves的运行过程:
-
Master运行时,会把JMeter脚本,分发给其他Slaves。
-
Slaves获取到脚本后,会以命令行的方式,运行JMeter脚本,并把执行产生的数据回传给Master。
-
Master汇总收集所有Slaves运行的结果。
我们来看下下面这张图,能够帮助我们理解这段话: