Jmeter运行原理

Loadrunner运行方式可以选择进程和线程两种方式。

Jmeter是java项目运行在JVM虚拟机上,以进程方式运行开销会比线程大,如果以进程方式运行的话,每个负载机上的进程数量就不会允许太多,当我们要大量并发时就需要大量的负载机,这显然是不经济的,再者java也是支持多线程的,所以Jmeter选择以线程的方式来运行。

Jmeter通过线程组来驱动多个线程(类似于Loadrunner中的虚拟用户)运行脚本对目标服务器发起负载,每个负载机上都可以运行多个线程组。JMeter运行场景可以在GUI(图形用户界面)方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。

 

名次解释

1)控制机:运用多台Jmeter负载机进行性能测试时,被选中作为管理机的那台机器就是控制机。jmter控制机也可以参与脚本的运行,同时他也担负着管理远程负载机指挥远程负载机运行的任务,并且手机远程负载机的测试结果。

 

2)负载机:向被测试应用服务发起负载的机器,控制机同时也是一台负载机。jmeter负载机受控制机管理。与其他支持远程运行的测试工具一样,负载机受控制机管理首先要启动一个客户端程序(agent:jmeter-server.bat),这样控制机才可以接管负载机。控制机会把运行的脚本隐蔽地发到远程负载机,但是如果运行测试脚本有参数文件以及依赖的jar包是,控制机并不能把他们发送到远程负载机,这种情况就需要手动拷贝了,当然在利用jmeter做性能测试自动化时不能这样,我们可以用工具来自动拷贝。

3)远程运行逻辑

远程负载机首先启动agent程序,等待控制机连接

控制机连接上远程负载机

控制机发送指令(脚本及启动命令)启动线程

负载机运行脚本,回传状态(包括测试结果)

控制机收集结果并显示

posted on 2019-07-09 12:13  带头大哥路人乙  阅读(478)  评论(0编辑  收藏  举报

导航