JMeter是一款强大的性能测试工具,由Java编写,小巧轻便,最关键的是开源免费,现在已经成了主流的性能测试工具。
下面介绍一下基本的安装使用、高级功能及可视化实时图表展示,带你们感受一下JMeter的世界~
1、安装
1.1、下载安装包
地址:https://jmeter.apache.org/download_jmeter.cgi
1.2、解压
2、启动
2.1、运行
双击bin目录下的 jmeter
运行界面如下
2.2、切换中文
还是切换成国语方便一点
2.3、打开日志查看
这一步是为了在运行的时候可以看到线程的调用情况
3、基本使用
3.1、创建线程组
- 线程数
就是要启动的线程数 - Ramp-up时间
以秒为单位,指的是上面配置的线程数将会在多长时间内全部递增完 - 循环次数
单用户任务重复执行的次数,可以设为无限次,这样jmeter就不会自动停止,需要强制终止
3.2、添加HTTP接口
这里我们使用天气预报接口做为测试 http://wthrcdn.etouch.cn/WeatherApi?city=海南
3.3、添加察看结果树
创建后,我们就可以非常方便地看到每一个请求的调用和返回结果
3.4、添加汇总报告
3.5、运行测试
运行结果如下,可以看到,列出了每个线程的请求内容和响应结果,还能根据结果自定义展示成xml、json等格式
4、更多功能
4.1、使用断言
相当于单元测试里边的assert,下面我们添加一个返回HTTP状态200的响应
录入后,我们再次运行查看一下结果
4.2、使用自定义变量
这一步就类似postman的环境变量,如果接口设置得特别多,可以方便地设置域名、参数,在统一修改变量值的时候比较方便
使用变量,在参数上使用${city}的方式填写即可
4.3、使用关联
关联就是可以把一个请求的结果给另一个请求使用,比如可以解析出登录或校验接口的时候的授权信息,如:token、session id,在下一次请求中使用传递,保持接口顺利通过。
下面演示一下怎么使用
- 新建一个后置正则解析器
这里配置一个正则解析updatetime标签的内容
- 再建一个新的HTTP请求
这里我随便配置了一个我的博客域名,使用get参数传递刚刚的变量
- 运行
结果如下
可以看到我们已经解析出了上一个请求的更新时间。
4.4、生成聚合报告
可以用来查看压测的总体报告,我们来创建一下
运行后就可以看到报告内容
5、可视化
5.1、下载插件
需要插件支持,下载地址:https://jmeter-plugins.org/wiki/TransactionsPerSecond/
解压到Jmeter的lib文件夹
将下载的zip解压的lib目录内容一一对应拷贝到Jmeter的对应的lib目录
5.2、重新启动JMeter
如下,已经可以看到支持了新的监听
使用结果
我们分别添加tps、响应时间、线程数的监听,将线程设置成2000压测一下
运行会产生一个实时的动态表格,如下
- TPS
可以看到,并发太高,有成功也有失败的 - 响应时间
- 线程数
JMeter的完整使用就介绍完了,功能强大使用简单.