性能测试工具-Apache JMeter (配置)
文章目录
简介
Apache JMeter 是100%纯java语言开发的负载测试和性能测试开源工具。
建立测试计划(Test Plan)
测试计划描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Thread Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating Controllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(Config Elements)。打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。
实战
建立WebAPI 测试配置
模拟步骤分析:
- 用户登录配置
- 模拟N个用户并发访问WebAPI接口资源
用户登录配置
- 选中测试计划 -> 右键添加 -> Threads (Users) -> 线程组
- 选中线程组 -> 右键添加 -> 配置元件 -> HTTP Cookie 管理器
HTTP Cookies 管理器:管理测试计划中运行时的所有Cookie。HTTP Cookie Manager可以自动储存服务器发送给客户端的所有Cookie,并在发送请求的时候附带合适的Cookie
选中线程组 -> 右键添加 -> 逻辑控制器 -> 仅一次控制器
选中仅一次控制器 -> 右键添加 -> Sampler -> HTTP请求
模拟用户登录行为,注意到Parameters -> 名称(username) 的值为 ${__CSVRead(LoginID.txt,0)}
该部分为读取当前主程序目录下LoginID.txt文件 第一个字符串的值作为username的值进行请求
对于CSVRead 函数使用可以查看官方文档
http://jmeter.apache.org/usermanual/functions.html#__CSVRead
- 选中HTTP请求 -> 右键添加 -> 后置处理 -> 正则表达式提取器
- 选中线程组 -> 右键添加 -> 监听器 -> 察看结果树
模拟N个用户并发访问WebAPI接口资源
- 选中线程组 -> 右键添加 -> Sampler -> HTTP请求
填入WebAPI接口请求需要的参数信息,并带入步骤1的Cookies 信息
- 选中HTTP请求 -> 右键添加 -> 配置元件 -> HTTP信息头管理器
输入需要的请求头信息:
其中${TGT} 为步骤1 提取的用户Cookies信息的存储变量名,这里会将步骤1提取出来的信息附加进去
现在已经完成了用户登录配置和访问WebAPI接口资源的配置!
可以通过调整线程组配置进行模拟用户访问频率方式来访问接口
JMeter Plugins 插件
可以通过访问JMeterPlugin网站,来扩展JMeter 工具的测试能力
下载Plugins Manager ,下载 plugins-manager.jar 放置在 lib/ext 目录下然后重启 JMeter
在选项下出现 Plugins Manager 功能项
PerfMon Server Agent 插件说明
配合
Servers Performance Monitoring 插件使用,运行服务端的代理。用于传输服务端的(CPU、内存、IO、网络等信息)
PerfMon Server Agent 插件使用
服务端启动
访问JMeterPlugin网站 搜索PerfMon Server Agent 插件,下载ServerAgent-2.2.1.zip 安装包
1 | # Unix 系统启动 |
Windows 系统启动效果
客户端启动
Servers Performance Monitoring (服务器监控-客户端) 该插件可以用于监控服务端的负载情况包括CPU、内存、IO、网络等信息。
使用
打开JMeter -> 选择[选项] -> 打开 Plugins Manager
选中Available Plugins -> 在左边菜选中” PerfMon (Servers Performance Monitoring)“
-> 点击Apply Changes and Restart JMeter选中线程组 -> 右键添加 -> 监听器 -> jp@gc - PerMon Metrics Collector
- 选中 jp@gc - PerMon Metrics Collector ->
在Servers to Monitor (ServerAgent must be started,see help) 栏目中添加服务器信息
- 启动运行
监控服务器端CPU、内存、网络I/O、磁盘I/O信息