一提到分布式测试,大家肯定会觉得,哇!好高大上,一定很高深的吧,这里老师推出不做傻白甜系列文章,带同学们一步一步理解jmeter的分布式测试。
首先我们来看下jmeter自动化测试的流程 ,见如下图1
在上图,我们可以看到,在接口自动化测试过程中测试计算机的线程组,发送500个并发请求给服务器,可能会面临如下两种情况:
第一种:服务器崩了,这种情况下,你可以很开心的找开发,发现一个bug,这个bug不满足系统的性能需求,系统的性能需求是要求能并发600个并发请求,这种情况表,开发只能乖乖的去提升性能。
第二种:你自己的测试计算机崩了,这种情况下,如果这个时候你再去找开发,开发会认为你"傻白甜"!
自己的测试计算机崩了,应该从自身找原因,不能去找开发了。
这个问题的真正原因在于测试计算机的资源不满足这么多的并发请求,所以你去找开发是没用的。
那么碰到这种情况该怎么办?
给测试计算机增加cpu,增加内存,硬盘,让他变得更强大?
还是多找几台计算机来协同工作,一起跑这个脚本,帮测试计算机分担下?
业内所有的选择都是多找几个计算机一起跑这个脚本?
那么怎么跑?
搞好多台计算机,大家谁也不管谁,都狂往服务器发送请求?
那是不可能地,我们说要做到“统筹兼顾”,得听出政治的味道来了?那就对了,很多政治理论是智慧的结晶,在任何领域都会用到。
那jmeter 是如何做到统筹兼顾的呢
--------采用分布式测试的方式---------
具体见下图:
通过上图,我们可以总结下jmeter分布式测试的特点
1、jmeter的分布式有一个主控制机,控制其他几台奴隶执行机
2、主控制机上安装jmeter软件,编写jmeter的脚本
3、奴隶执行机上面也安装jmeter软件,但脚本并不在奴隶执行机上,奴隶执行机只执行脚本
4、分布式流程为:jmeter主控制机控制奴隶执行机执行主控机的测试脚本,奴隶执行机发送并发请求给服务器,后续将性能测试的结果汇聚回主控制机。
好了,如果都get到了jmeter分布式测试的基本原理,下次教你怎么 在jmeter分布式性能测试部分,面对面试官的反手掏~~~~