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