基本原理:jmeter基本原理是建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。
运行原理:lr可以选择以进程方式还是线程方式来运行,而jmeter是已线程的方式来运行的。由于jmeter是运行在JVM虚拟机上,每个进程开销要比lr的进程开销大,如果已进程的方式来运行的话,每台负载机上面进程数量就不会允许太多。当我们要大量并发时就需要大量的负载机,显然是不经济的,所以选择了已线程方式来运行。
远程运行的时候分控制机和负载机。
远程运行逻辑:
远程负载机首先启动agent程序,待控制机连接。
控制机连接上远程负载机。
控制机阿松指令,启动线程
负载机运行脚本,回传状态(包括测试结果)
控制机收集结果并显示。
jmeter主要部件:
取样器:用来模拟用户操作,向服务器发出请求。【测试计划】--【线程组】--【Sampler】
断言:用来验证结果是否正确。比如XML断言,BeanShell断言。【测试计划】--【断言】
监听器:用来采集结果。【测试计划】--【监听器】
前置处理器:在测试脚本开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作。可以使用监听器来完成。【测试计划】--【前置处理器】
配置元件:性能测试中为了模拟大量用户操作,往往需要参数化,可以通过配置元件来完成。【测试计划】--【配置元件】
后置处理器:一般后置处理器放在取样器之后,用来处理服务器的返回结果。【测试计划】--【后置处理器】
控制器:
定时器:
线程组:
工作台: