- 以线程的方式来运行;
- Jmeter是运行在JVM虚拟机上的;
- 通过线程组来驱动多个线程;
- Jmeter运行场景不仅可以再GUI方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小;
- Jmeter支持远程,远程运行架构如下:
- 控制机:运用多台jmeter负载机进行性能测试时,被选中作为管理机的那台机器即控制机。Jmeter控制机也可以参与脚本的运行,同时它也担负着管理远程负载机指挥远程负载机的任务,并且收集远程负载机的测试结果;
- 负载机:向被测试应用服务器发起负载的机器,控制机同时也是一台负载机;负载机受控制机管理,首先要启动一个客户端程序(Agent:jmeter-server.bat),这样控制机才可以接管负载机;控制机会把运行的脚本隐蔽地发送到远程负载机,但是如果运行的测试脚本有参数文件及依赖的jar包时,控制机并不能把它们发送到负载机上,需要手动拷贝才可以。如果利用jmeter做自动化时,可以利用工具来实现拷贝;
- 远程运行逻辑:
远程负载机首先启动Agent程序,待控制机连接;
控制机连接上远程负载机;
控制机发送指令(脚本及启动命令)启动线程;
负载机运行脚本,回传状态(包括测试结果);
控制机收集结果并显示;