Jmeter性能测试脚本搭建与测试步骤流程
JMeter性能测试实例
- 一、测试目标
- 二、使用badboy工具录制登录脚本
- 三、Jmeter导入Login.jmx脚本
- 四、用户名的参数化
- 五、关联
- 六、添加监听器(Listener)
- 七、运行脚本
- 八、结果分析
- 九、JMeter ServerAgent服务器资源监控插件
一、测试目标
1)测试目标网站是http://127.0.0.1:1080/WebTours/
2)测试目的是得到该网站在100和500个虚拟用户并发登录网站
“http://127.0.0.1:1080/WebTours/”的平均响应时间,错误率,吞吐量,程序所在机器的CPU运行效率,memory占用大小
二、使用badboy工具录制登录脚本
badboy下载链接地址
打开badboy工具,点击工具栏上的红色圆形按钮,在地址栏中输入被测试项目的地址“http://127.0.0.1:1080/WebTours/”,录制登录过程
点击“跳转”后
进入登录页面
登录成功后
此时录制完成,点击工具栏上的红色圆形按钮结束录制。
选择"文件"–Export to Jmeter…
得到Jmeter脚本Login.jmx
具体使用详情可参考此篇博客
可能遇到的问题解决方法可参考此篇博客
三、Jmeter导入Login.jmx脚本
Jmeter中打开Login.jmx脚本,得到如下目录树
四、用户名的参数化
参数化方式:添加–前置处理器–用户参数(勾选上每次迭代更新一次)
单击"http://127.0.0.1/WebTours/login.pl",将username的值改为${user}
五、关联
在“http://127.0.0.1/WebTours/nav.pl”请求下右击,选择添加–后置处理器–正则表达式提取器
正则表达式提取器的设置如下图显示:
单击"http://127.0.0.1/WebTours/login.pl",将userSession的值改为${session}
六、添加监听器(Listener)
脚本的主要部分设置完成后,需要通过某种方式获得性能测试中的测试结果,在本例中,我们关心的是请求的响应时间。
Jmeter 中使用监听器元件收集取样器记录的数据并以可视化的方式来呈现。Jmeter有各种不同的监听器类型,因为上HTTP请求,我们可在添加聚合报告,更为直观的查看测试结果。
添加聚合报告,右键点击Step1,在弹的菜单(添加—>监听器—>聚合报告)中选择聚合报告。
类似方式即可添加“察看结果树”和“jp@gc - PerfMon Metrics Collector”
七、运行脚本
添加完成聚合报告后,我们来运行脚本,稍后介绍聚合报告的参数。
1)线程组:
线程数:100
准备时长:20
循环次数:1
100个虚拟用户下聚合报告的运行结果:
100个虚拟用户下察看结果树的运行结果:
可以看到聚合报告中错误率是0.00%,察看结果树中返回的数据也是正确的,但是系统所在服务器CPU占有率过高,机器性能待提升
2)线程组:
线程数:500
准备时长:20
循环次数:1
500个虚拟用户运行了一段时间后程序直接报错
500个虚拟用户并发登录下,出现了很高的错误率,CPU消耗率几乎达到100%,鼠标都移动缓慢。
500个虚拟用户在并发时,察看结果树中,在高并发中间时间段,错误率几乎达到100%。
八、结果分析
500个虚拟用户并发登录时错误率较高,该网站需要在1000人同时登录成功。软件的性能明显不满足要求,需要提高。
聚合报告各字段说明:
Samples 样本 发送到服务器的样本数目
Average 平均值 总运行时间除以发送到服务器的请求数
Median 中值,一组数值中居于中间的数值 代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值
90%Line 一组数由小到大进行排列,找到他第90%个数(假如是12),那么这组数据中有90%的数将小于12
95%Line 一组数由小到大进行排列,找到他第95%个数(假如是12),那么这组数据中有95%的数将小于12
99%Line 一组数由小到大进行排列,找到他第99%个数(假如是12),那么这组数据中有99%的数将小于12
Min 最小值 服务器响应的最短时间
Max 最大值 服务器响应的最长时间
Error% 错误率 请求的错误百分比
Throughput 吞吐量(是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量))
服务器每单位时间处理的请求数,注意查看是秒或是分钟。 请求数/时间
Received KB/sec 接受的每秒字节数
Send KB/sec 发送的每秒字节数
九、JMeter ServerAgent服务器资源监控插件
本文介绍对Linux服务器的服务进行压测时,使用jmeter serverAgent插件监控服务器资源。
1.插件准备
所需插件:
JMeterPlugins-Extras.jar
JMeterPlugins-Standard.jar
ServerAgent-2.2.1
插件下载地址:https://jmeter-plugins.org/install/Install/
下载后分别解压
将JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到jmeter安装路径 apache-jmeter-5.1.1\lib\ext目录下
将ServerAgent-2.2.1解压包放到linux服务器opt目录下
2.环境准备:
2.1Linux服务器启动监控服务
运行命令./startAgent.sh 或 sh startAgent.sh 即可启动ServerAgent服务
注:ServerAgent服务端口号默认为4444,如若遇到端口被占用,则需关闭占用该端口的进程,或者改变ServerAgent服务的默认端口:
A:关闭占用4444端口的进程
关闭占用4444端口的8260进程后,再次启动ServerAgent服务,成功。
B:使用命令改变ServerAgent服务的默认端口
进入ServerAgent的目录,此时可以看到ServerAgent.jar
输入以下命令:
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777
同样的,7777端口也要设置防火墙规则以及使用telnet本地测试下是否可以访问
如若是阿里云服务器,需去官网特定开设一个端口号,否则会报错拦截
2.2本地测试是否能正常访问:
在cmd中运行 telnet ip 4444 也就等同于在浏览器中输入ip:4444
注:如若提示 “telnet不是内部或外部命令,也不是可运行的程序”
则需启动Telnet功能,参考:win10 解决telnet不是内部或外部命令的方案
3.资源监听
将jar包放到lib下后,jmeter的监听器就会多出一些监控插件,选择添加即可
添加监控项中的细项,如CPU、memory、磁盘I/O等信息
举个例子:现在有个需求,平均每秒有30个用户登录,设置持续请求接口,需要监控服务器的资源使用情况
Number of Threads:30
Ramp-up Period : 1
Loop Count:Forever
Jmeter性能测试脚本搭建与测试步骤流程相关推荐
- MQTT服务器搭建和测试步骤及遇见的问题
MQTT服务器搭建和测试步骤及遇见的问题 前言:MQTT服务器有好多种,查看:Servers/Brokers Apache-Apollo:一个代理服务器,在ActiveMQ基础上发展而来,可以支持ST ...
- Jmeter性能测试脚本实战
charles抓包经验分享 1.设置过滤 2.对于抓包操作进行备注 3.去掉资源文件(js/css/imgs/wav等) 其他去除资源文件方法,在过滤中设置exclude中添加正则 Charles抓H ...
- 性能测试 性能测试实战(六)Jmeter + prometheus-plugin + Prometheus Jmeter性能测试环境搭建 普罗米修斯插件 性能监控 性能数据可视化平台 性能测试平台搭建
文章目录 一.前言 二.Jmeter 性能测试持续可视化环境搭建 1.Jmeter
- Badboy录制jmeter性能测试脚本
1.下载和安装Badboy 下载路径:Badboy: All versions - Software Informer 点击相应版本,进入下载页面,点击[download]皆可完成安装包下载 . ...
- jmeter性能测试脚本录制不了的几种情况
1.未设置代理服务器 jmeter录制的原理:用户的请求通过jmeter脚本录制器然后再发送到所请求的服务器,这样才jmeter脚本录制器就录制了一份请求. 如果没有设置代理服务器,自然就录制不了脚本 ...
- Jmeter性能测试环境搭建
一.安装文件下载 1. jmeter安装包版本 5.4.3下载地址: https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.zip ...
- JMeter性能测试,完整入门篇(自己做测试了)
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...
- (一)JMeter性能测试,完整入门篇:性能测试操作步骤
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测 ...
- jmeter性能测试步骤实战教程
1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1 ...
- jmeter性能测试入门简介
Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工 ...
最新文章
- 地理坐标xy表示什么_建筑测量xy坐标的区别
- 加速SaaS规模化演进,餐道基于K8s的云上创新底座
- 笔记本怎么桌面显示计算机,笔记本电脑桌面不显示了如何解决
- [一道搜狗输入法的面试题]C++转换构造函数和类型转换函数
- Light-Head R-CNN相关资料
- 怎么求星期几的后几天C语言,计算任何一天是星期几的C语言源代码.
- android输入流,android – 获取图像输入流的大小
- pybamm库学习-tutorial
- CCF201512-5 矩阵【矩阵快速幂】(募集解题代码)
- 前加加 后加加 ++ 详解
- Digester简介和使用
- CSS运用中所体会到的方法
- GEE引擎架设好之后进游戏时白屏的解决方法——gee引擎白屏修复
- arcgis for Android 100.4 面积测量
- 在本地存储中存入和取出对象
- Tableau desktop(二)--数据连接及数据字段
- 虫师python appium自动化测试书_Selenium3自动化测试实战(基于Python语言)
- 聊一聊 InnoDB 引擎中的索引类型
- 初中人教版计算机具体课程,构建信息技术支持下的中学数学课程
- win10虚拟机hyper-v下安装群晖(NAS)