性能测试工具jmeter使用
工具安装
Jmeter官网下载:https://jmeter.apache.org/download_jmeter.cgi
Jmeter插件安装:https://jmeter-plugins.org/ (连接是通过wiki中搜索plugin找到)
安装Jmeter和相关插件可以参考:https://blog.csdn.net/DiXiangLin/article/details/137513649
简介
性能测试分为基准测试、单交易负载测试、混合交易负载测试、压力极限测试、浪涌测试、稳定性测试。
交易选择:使用频繁的交易、关键路径交易、资源利用过多的交易、对性能可能产生严重影响的交易、业务人员认为重要的交易。
Jmeter支持中文显示,下载安装后可以选择语言设置
可以对默认创建的测试计划进行重命名,Jmeter只能打开一个测试计划,所以在切换或者关闭Jmeter之前一定要保存当前的测试计划。
安装插件,选中点击安装后等待安装后会自动重启,提示是否保存测试计划,一定要选是,否则测试计划的相关配置会丢失
创建通用监听器。在测试计划右键,创建下图中的几种监听器
然后创建http请求头默认值,http请求默认值。不用在之后的每个http请求都重复设置
基准测试
单用户单交易,让系统无压力情况下获取系统处理耗时,为多个用户、混合交易提供一个基准参考。主要目的:
- 验证测试脚本准确性
- 性能指标。主要是执行平均响应时间
创建普通的线程组,其中ramp-up时间是在多少秒内创建出来上面设置的线程数。
http取样器设置,线程组上点击创建。
如果是这样一个地址:http://mp.csdn.net/mp_blog/creation/editor,在http取样器的设置如下,公共部分可以在此处不设置。
有多少交易需要做性能测试,创建多少http取样器就好。启动时需要禁用其他不需要发送请求的http取样器。再进行下一次测试前也要记得清除这次测试的数据。
单交易负载测试
测试单个交易的性能。确订系统的各项指标(CPU、磁盘IO、吞吐量、内存等)如何决定系统的性能,查找系统瓶颈。找到系统处理能力的最优值。
需要创建步增线程组。例如10个线程开始,每多少时间增加10个线程,测试系统性能拐点,例如吞吐量开始是随着线程数的增加而增加的,当达到一定线程数,再增加线程吞吐量不再波动,此时线程数即并发用户是系统当前接口的最优并发值。
下图会根据设置显示,不同的时间段对应的线程数
混合负载交易测试
多个交易并行执行,通过吞吐量控制器来控制不同的交易占比。也是需要创建步增线程组,在多个交易并行执行的情况下,测试找出系统的最优性能。
有多少个交易就创建多少个吞吐量控制器,根据每个交易的占比配置吞吐量,如下图,需要注意线程组下的吞吐量的值加起来应该等于1
然后在每个吞吐量控制器,创建http取样器模拟交易。
压力极限测试
在上述条件下继续加压,知道系统出现崩溃的点,例如CPU占用超过90% 或者 出现失败的交易,获取到此时系统的并发数,并判断制约系统的性能瓶颈。
浪涌测试
通过模拟不同的压力,高低压负载交替,检查系统资源申请和释放情况。
需要创建ultimate线程组
例如如下图配置,就能出现波峰波谷,一般测试需要三个波峰的存在。
稳定性测试
使用混合负载交易的方式,最优并发数*0.7作为最终并发数,持续运行12-24小时,来证明系统是可靠的。