文章目录
前言
本文用于记录并分享使用jmeter进行简单的压力测试的基本流程,主要囊括范围:假定API已构建,从我们用jmeter模拟用户的调用行为,到并发持续测试,最后记录并汇总响应时间,服务器资源使用情况等。
一、准备工作
1.安装jmeter
JMeter是Apache旗下的基于Java环境的用于对WEB服务进行压力测试的交互式工具,无需写代码,只需用JMeter内置的组件进行配置就能模拟用户的WEB调用请求并记录响应结果。
官网安装路径:Apache JMeter 5.5 (Requires Java 8+)
2.安装java环境
JMeter5.5建议搭配jave8使用,本文中压测的全流程不涉及开发工作,因此仅安装JRE即可,具体安装流程此处不做阐述,在命令行中输入
java -version
能显示版本信息即可以继续后续步骤。
二、JMeter使用样例
1.运行JMeter
解压下载的JMeter包,打开bin目录下的jmeter.bat,看到一个类似下图的界面就可以开始测试流程了:
2.创建调用流程
1.背景阐述:
- 用户通过GET请求调用服务器计算资源,同时要传递给服务器算法的输入数据;服务收到请求后会异步启动算力并返回一个UUID作为该计算任务的唯一标识符;用户收到计算任务的UUID,就能确认计算资源申请成功
- 一段时间之后,用户将该UUID作为参数再向服务器发送另一个请求,用以获取算法的运行结果;服务器收到用户获取结果的请求后,根据算法的运行情况,返回成功,失败,或运行中;用户收到结果成功或失败则为一次算法调用流程完成,收到运行中则循环发送获取运行结果的请求直到运行结束
2.JMeter模拟调用
1.添加线程组:
点击Thread Group,里面有些参数需要设置:
- 遇到错误要执行的操作
- Number of Threads,并发数
- Pamp-up period,并发发生在几秒时间内
- Loop Count:整个流程重复次数
2.请求设置
HTTP Request Defaults用于设置默认服务器IP,端口,参数等
HTTP Header Manager用于管理请求头
HTTP Authorization Manager给请求添加身份验证
3.创建请求流程
按照之前提及的调用全流程,添加一个HTTP Requst,设置URL及参数(本案中采用Files Upload,作为算法输入)。之后再添加Post Processor - JSON Extractor用于提取任务的UUID:
在构建一个Logic Controller - While Controller,实现运行没结束循环请求直到返回计算成功或失败。
4.响应时长展示
常用Aggregate,Vew Results Tree,Vew Results in Table
5.监控服务器CPU,MEM,I/O等
需要在测试节点机上安装插件,同时在服务器上下载并启动相应的服务才能实现。
下载 jmeter插件管理包plugins-manager.jar,并移动到 jmeter lib/ext目录下,重启JMeter,可以看到Options下多了一个叫Plugs Manager的选项
在里面安装监控服务器资源需要的插件,在Available Plugins里搜“Per”,勾选“PerfMon”,并点击Apply Changes and Restart JMeter。
在服务器端安装Agent 参考,需要有Java环境
版权归原作者 wwang221 所有, 如有侵权,请联系我们删除。