> 技术文档 > jmeter进行压力测试,并出具性能报告全流程记录_jmeter压力测试报告

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搜索教学