jmeter组件介绍
线程组
在测试计划里面选择添加既可以看到线程组
名称可以随便取,我们保持是自动分配的名称
线程数
一般我们用来表示多少个用户,即我们测试的用户数量
Ramp-up Period(in Seconds)
表示每个用户启动的延迟时间,上述我设为1秒,表示系统将在1秒结束前启动我设置的1000个用户,如果设置为1000秒,那么系统将会在1000秒结束前启动这1000个用户,开始用户的延迟为1秒, 如果我设置为0秒,则表示立即启动所有用户
循环次数
如果你要限定循环次数为十次的话,可以取消永远的那个勾。勾上永远那个勾表示不停止或规定时间内一直执行下去,是为了方便调度器的调用
调度器的配置
我们勾选调度器时将会出现这个面板
启动时间
表示我们脚本开始启动的时间,当你不想立即启动脚本测试,但是启动的时间,电脑不在一旁的时候,你可以设定一个启动的时间,然后在运行那里点击启动,系统不会立即执行,而是会等到你填写的时间才开始启动运行
结束时间
与启动时间相对应表示脚本结束运行的时间
持续时间
表示脚本持续运行的时间,以秒为单位。比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600。如果在1小时以内,结束时间已经到达,它将会覆盖结束时间,继续执行。
启动延迟
表示脚本延迟启动的时间,在点击启动后,如果启动时间已经到达,但是还没有到启动延迟的时间,那么启动延迟将会覆盖启动时间,等到启动延迟时间到达后,再运行系统
注意:如果我们需要用到调度器来设定持续时间,如果线程数不够多到持续时间结束,我们就必须将循环次数勾选为永远,特别地,如果线程组里面有其他的循环,我们也需将该循环次数勾选为永远(如我上面录制的脚本中的Step1也是一个循环,需要将永远勾选),否则,按我如上配置,将永远去掉勾选,文本里填1,那么无论你将持续时间启动时间结束时间等设置多少,系统运行1000次后,将会停止不再运行。
关于HTTP请求
服务器名称或IP:即我们的服务器或者IP的地址,我因为是在本机上的项目,故填写localhost
端口号:我用的是tomcat,自己设置的端口号为8086(tomcat默认为8080)
后面的超时定义可以不用填写
Implementation:这里我们录制时默认填写为JAVA
协议填写为:http
方法为:GET
Content encoding:编码可以不用填写
路径:即页面的路径;下面的重定向等选择可以根据需要勾选,这里我们保持录制不修改。
Parameters参数:即跟着路径一起发送的参数及文件
添加监听器
我们做性能测试的时候,经常需要各种数据来验证我们的测试结果,Jmeter里面也提供了相关的功能,这里主要说一下Aggregate Report聚合报告。
点击添加—监听器,选择:查看结果树,和聚合报告,如果需要看到断言信息也可以选择断言结果,将设置的一切保存之后,然后点击启动,系统将会运行,将结果在监听器中表现出来
jmeter常用组件
测试计划:整个测试计划
线程组:所有的任务都是基于线程组,开发多少个线程组就代表多少个并发用户
Ramp-Up Period:在这么多时间内完成全部测试,比如开了2个线程,而Ramp-Up Period为3,则每个线程的间隔为1.5秒;
Sampler:所有的测试任务都是Sampler,即任何测试任务的类别都是Sampler,比如HTTP请求、JDBC请求、FTP请求;
断言:对Sampler的测试进行判断是否正确;
监听器:对Sampler的请求结果进行统计、显示;
常用的组件有
- HTTP请求:模拟HTTP请求;
- 察看结果树:对于每个请求,可以查看HTTP请求和HTTP响应;
- 图形结果:可以图形显示吞吐量、响应时间等;
- 聚合报告:总体的吞吐量、响应时间;
Label: 定义的HTTP请求名称
Samples: 表示这次测试中一共发出了多少个请求
Average: 访问页面的平均响应时间
Min: 访问页面的最小响应时间
Max: 访问页面的最大响应时间
Error%: 错误的请求的数量/请求的总数
Throughput:每秒完成的请求数
KB/Sec: 每秒从服务器端接收到的数据量