一、安装
官网下载Jmeter,下载完成解压即可
二、启动并简单使用
启动:进入解压后的bin目录,Windows点击jmeter.bat,Linux需要先编辑好xml文件(测试脚本,目录templates里面有许多案例可以参考),然后命令行执行jmeter。
使用方法:
添加线程组(user) : Test Plan --> Add --> Threads(Users) --> Thread Group,这里还有setUp Thread Group和tearDown Thread Group,前者是测试之前做的事,后者是测试之后做的事。这里点击Test Plan有个执行计划的设置比较常用,Run Thread Groups consecutively(i.e.one at time), 勾选表示顺序执行,指的是测试计划中存在多个线程组时,第一个线程组执行完后再执行下一个线程组。下图是线程组的线程配置详情:
三、常用元件介绍
这里介绍常用的几个元件,有些不常用的需要用的时候,自己去测试一下或者官方文档查看说明。
Sampler:常用的HTTP Request/FTP Request/JDBC Request/Java Request,这个是核心元件,具体测试的对象在这里写,基本用到的HTTP Request,post/get的HTTP请求,这里懂HTTP协议的一看就会了,需要注意的是编码(有时候会乱码),Redirect Automatically和Follow Redirect的区别,前者只针对get/head请求,不会记录重定向的中间过程,后者会记录中间过程。
Logic Controller:业务逻辑控制器,懂编程的一看就能明白这是干啥的,主要常用的有if/Random等等,random也可以使用Options->Function Helper Dialog里面的函数,例如:${__Random(1,100,num)}
Pre Processors:前置处理器,在sampler元件之前执行,一般用的最多的就是参数设置(User Parameters),这里在参数化的时候再细说
Post Processors:后置处理器,在sampler元件之后执行,用的多的也就是Regular Expression Extractor/XPath Extractor,这里在关联的时候再细说
Assertion:断言,常用的Response Assertion(有很多种比较方式,根据实际情况择优选择)
Timer:定时器,一般用的多的是Synchronizing Timer,集合点的时候用到
Config Element:配置元素,这里面各个组件功能不一,比如HTTP Request Defaults,公共的请求参数都在这里事先配置,后面在具体的sampler里面,相同的部分就可以省略不写了
Listener:监听器,常用的查看结果树(View Results Tree),Summary Report(我看和聚合报告的区别好像就是会有个响应时间的标准方差),聚合报告(Aggregate Report)
四、常用性能指标
Label::取样器,自定义命名的线程组
#Samples:请求数,样本数
Average:平均响应时间,单位ms
Min:最小响应时间,单位ms
Max:最大响应时间,单位ms
Median:50%的请求的响应时间
90%Line:90%的请求的响应时间, 性能测试很重要的指标
95%Line:95%的请求的响应时间
99%Line:99%的请求的响应时间
Error%:事务错误率,一般最差不高于1%
Throughput:每秒完成的事务数,也叫TPS,也是性能测试很重要的指标,越大越好,越大说明系统的处理能力越强
Received KB/sec:每秒从服务器端接收到的数据量
Sent KB/sec:每秒向服务器发送的数据量
Avg. Bytes:平均数据流量,单位是Byte
Std.Dev:响应时间的标准方差