jmeter进行压力测试,并出具性能报告全流程记录_jmeter压力测试报告
书接上文,继续整理一下项目压测的步骤,上次安装了grafana+prometheus来监控系统参数,参考搭建grafana+promethues监控云服务器系统-CSDN博客, 或者不想部署这么多, 使用jmeter自带的插件来监控目标机器的性能,perfMon服务端性能实时监控插件, 就是图难看了点, 现在准备开始压测机器
说明一下:对于小并发量压测,可以使用本地window机器作为压测机,直接执行压测
测试大并发量,则需要将jmeter部署在与服务器同一网段,我们在此都部署一下,也就是安装一套windows环境的jmeter,在centos机器上也安装一套jmeter,在windows机器调试好jmx脚本传到centos上执行
那就正式开始吧
###windows安装jmeter环境准备
检查jdk, 按键win+r输入cmd打开控制台
输入java -version
如图jdk1.8我已经装好了,没有出现版本信息自行搜索安装,应该都有大一学习java的第一课就是配置jdk
我提供一个jdk提取码吧windows的64位版本,运行添加系统环境变量即可
通过百度网盘分享的文件:jdk-8u321-windows-x64.exe
链接:https://pan.baidu.com/s/1NYnq0bOCIu9k-ffhiPaUkg
提取码:chen
--来自百度网盘超级会员V3的分享
接下来获取jmeter安装包
官网下载地址下载版本_Apache JMeter中文网选择一个喜欢的版本
或者使用我提供的安装包
通过百度网盘分享的文件:apache-jmeter-5.4.3.zip
链接:https://pan.baidu.com/s/1zsjqERkVs6hOTaEyMlZ6FA
提取码:chen
--来自百度网盘超级会员V3的分享
下载完直接解压缩到D盘,进入你解压的软件目录
jmeter汉化
进去找bin目录,点进去记事本打开jmeter.properties
修改以下参数
language=zh_CN
sampleresult.default.encoding=utf-8
在bin目录,点进去双击jmeter.bat启动
自动打开jmeter的web页面,启动完成
###安装linux机器上的jmeter
小并发量压测可以跳过这步了
环境准备,我找了一台没有jdk的机器演示一下,执行java -version
下载jdk,官网Java Archive Downloads - Java SE 8
或者使用我提供的
通过百度网盘分享的文件:jdk-8u201-linux-x64.tar.gz
链接:https://pan.baidu.com/s/13CfIS-TvFPdYSQHABkXLxw
提取码:chen
--来自百度网盘超级会员V3的分享
注意jdk版本linux的64位,不要偷懒用前面下的,那个是windows
下载完传到目标机器
cd /opt/
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /opt
ln -s /opt/jdk1.8.0_201 /opt/jdk8
添加至系统环境变量
sed -i.ori \'$a export JAVA_HOME=/opt/jdk8\\nexport PATH=$JAVA_HOME/bin/:$JAVA_HOME/jre/bin:$PATH\\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar\' /etc/profile
看一眼写进去没
tail -5 /etc/profile
没问题刷新配置生效
source /etc/profile
java -version
出现版本信息,环境准备完成
开始安装jmeter, 将jmeter包传到目标机器, 可以用window版本下载的那个包
我的版本以及位置
tar -zxvf apache-jmeter-5.4.3.tgz -C /opt
进去bin目录
cd apache-jmeter-5.4.3/bin
./jmeter -v
出现版本信息即为成功
到这里软件安装都已经完成了
###准备压测脚本
回到windows安装的jmeter, 涉及到公司信息不公开压测脚本, 我用googl简单演示一下步骤, 打开软件准备调试
需求是压测这个网站搜索功能
如果有接口文档,参照文档, 没有可以使用浏览器自带的抓包工具
随便输入数据点一下搜索, (可以添加参数读本地文档的数据,不搞这么复杂了), 点F12打开抓包工具
在此页面下点一下搜索
抓到一个接口请求,其他的静态资源不用管,打开jmeter
右键测试计划,选择添加一个线程组
右键线程组添加取样器http请求
然后把刚才浏览器抓包到的数据填进去
再添加一个监听器聚合报告和查看结果树
点击绿色三角运行查看结果树
查看响应数据,能看到服务器返回数据即为成功,增加压力将线程组中线程数量调大, 更多请求根据要压测的业务自行填写
提醒一下不要随便压力别人的网站
更新一下jmeter自带插件的用法, perfMon服务端性能实时监控插件
通过百度网盘分享的文件:ServerAgent-2.2.3.zip
链接:https://pan.baidu.com/s/1OQeGby2nEDpIEB64CYGHWA
提取码:chen
--来自百度网盘超级会员V3的分享
将此文件传入服务器
unzip ServerAgent-2.2.3.zip
cd ServerAgent-2.2.3/
./startAgent.sh
服务端正在监听,去jmeter添加插件,右键添加监听器jpgc-pm
输入服务器IP以及监听资源类型,我这里是cpu,监听端口默认4444不用改
线程组循环次数选永远,点击执行,可以看到已经出图了
需要监控其他资源自行添加插件
小并发量以上即可满足
大并发量压测50线程以上需要把聚合报告,查看结果树,监控插件都删掉节约资源,将脚本导出为.jmx文件,传到安装jmeter的机器上, 监控系统性能使用prometheus+grafana, 安装参照另一篇文章
进入jmeter的bin目录执行
./jmeter -n -t /opt/HTTP请求.jmx
成功执行, 查看目标服务器的监控数据, 根据性能曲线分析编写测试报告, jmeter用法非常多功能全面, 上述演示了基本压测功能, 需要实现更多复杂业务bilibili搜索教学