jmeter性能测试案例分析
一、首先我们先看jmeter的安装
1.需要java环境,安装jdk,以及配置环境变量;
vim ./.bash_profile 确定enter,然后输入e,载点击i,然后就打开了bash_profile文件且进入了输入状态
export JAVA_HOME=
/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:. #冒号前代表JDK目录下的bin目录,冒号后代表当前目录
export CLASSPATH=$PATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后执行source ./.bash_profile保存配置
用echo $JAVA_HOME可以验证是否成功
注意⚠️:如果发现lib里面没有tools.jar、dt.jar,是因为这两个合并在了
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar这个classes.jar中
建立软连接到/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/tools.jar
即 ls 源文件路径 和目标文件路径,这样相当于把源文件建立快捷键到新的路径
但是会提示没有权限
那么可以建立root权限,用root权限可以操作
命令:su root
但是第一步得先创建root管理员
否则会报错:
chengyaingdembp:~ july$ su root
Password:
su: Sorry
创建root权限
chengyaingdembp:~ july$ sudo passwd root
输入密码即可,然后再su root即可执行成功
2.进入官网:http://jmeter.apache.org/下载压缩包,解压缩,然后配置环境变量;
vim ./.bash_profile 确定enter,然后输入e,载点击i,然后就打开了bash_profile文件且进入了输入状态
export JMETER_HOME=/Users/jk724/apache-jmeter-5.0
export PATH=$PATH:$JMETER_HOME/bin
export CLASSPATH=$PATH:$JMETER_HOME/lib/jorphan.jar:JMETER_HOME/lib/ext/ApacheJMeter_core.jar.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行source ./.bash_profile保存配置
也可以不用配置环境变量,只不过每次启动jmeter都必须cd bin目录,然后sh jmeter才能启动
配置完环境变量以后可以直接输入jmeter打开,前提必须把java的classpath的路径配置好
⚠️:如果jdk是7或者更低版本则会报错启动不成功
Unrecognized VM option 'MaxMetaspaceSize=256m'
Could not create the Java virtual machine.
需要下载安装稳定版本javase 8u版本:jdk8版本
然后安装号 jdk还存在资源库中,修改环境变量即可启动成功
二、插件下载
进入官网下载插件
https://jmeter-plugins.org/downloads/old/
1.JMeterPlugins-Standard-1.4.0.zip
2.JMeterPlugins-Extras-1.4.0.zip
进入网址https://jmeter-plugins.org/wiki/PerfMon/ 下载Perf Mon 插件
将 JMeterPlugins-Standard-1.4.0.zip 解压后,把 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter-3.1\lib\ext目录中。
将 JMeterPlugins-Extras-1.4.0.zip 解压后,把 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter-3.1\lib\ext目录中。
将 ServerAgent-2.2.1 解压后整个文件放到要监控的服务器中待使用。为了监控服务器的cpu、内存、网络等情况,也可以直接通过运维搭建的服务器监控系统监控;
其中主要的几个监控:
正常启动成功后查看监听器,其中jp@gc 开头的为插件加载后出现的。每一个插件监控一项指标,这里就不一一详解,重点讲解其中两个jp@gc - Transactions per Second-吞吐量(随着运行时间,平均吞吐量不断变化,查看是否稳定)、jp@gc - PerfMon Metrics Collector-cpu、jp@gc - Response Times Over Time-响应时间(随着运行时间,平均响应时间不断变化,查看是否稳定)
三、性能测试报告的统计
1.测试内容
具体的测试的接口
2.测试方法
本次采用apache的开源测试工具jmeter,采用本地动态拼装请求数据并通过http协议post方式发送支付请求。具体的准备情况;
3.获取合理响应时间的最大TPS值
4.测试环境
发送请求的客户端(jmeter部署的机器情况:机器型号、系统、硬件内存、硬件cpu-32/64核、处理器内存)
5.具体监控数据统计
根据不断增加线程数(用户数)-不断增加负载:
1.看响应时间的变化图
2.吞吐量的变化图
3.聚合报告
4.把服务器的cpu+内存变化情况统计一下
5.压测的设备情况、服务器的设备情况(处理器内存)