JMeter运行原理

JMeter运行原理(2)

上一篇性能测试工具-jmeter的使用对jmeter的一些组件及JMeter体系结构进行了介绍,下面我们来了解JMeter运行原理。

本篇来自《全站性能测试修炼宝典JMeter实战》一书,挺不错的一本书,推荐给大家,有机会可以去看看。好了,进行正题

接触过LoadRunner的读者都知道,LoadRunner 可以选择是以进程方式还是以线程方式来运行,在Jmeter中我们是以线程的方式来运行的,由于Jmeter是运行在JVN虚拟机上的,每个进程的开销比LoadRunner的进程开销要大,如果以进程的方式来运行的话,每台负载机上的进程数量就不会允许太多,当我们要大量并发时就需要大量的负载机,这显然是不经济的,再者Java也是支持多线程的,所以JMeter选择了以线程方式来运行。

关于进程和线程的概念可以看下这篇☞进程和线程,分清这两个概念还是挺重要的,我第一次面试测试实习生的时候就被问到这个问题,所以理解概念还是很有必要的。

JMeter通过线程组来驱动多个线程,(类似LoadRunner 中的虚拟用户)运行测试脚本对被测服务器发生负载,每个负载机上都可以运行多个线程组,如图此计划中就有两个线程组,JMeter运行场景不仅可以在GUI(图形用户界面)方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。
JMeter运行原理_第1张图片
JMeter基本原理是建立一个线程池,多线程运行去延期产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。

JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的响应,这样就很容易地生成性能测试脚本, 有了性能测试脚本,JMeter就可以通过线程组来模拟真实用户对Web服务器的访问压力。

你可能感兴趣的:(JMeter性能测试)