阿里云linux安装jmeter并进行压测

 

一、阿里云linux安装JDK

1、下载安装JDK

jdk官网,选择linux版本,下载并保存。

(一)yum安装

安装epel的yumyuan

yum install epel-release -y

查看yum源里当前jdk有哪些版本

yum list | grep openjdk

执行安装命令:

yum install java-1.8.0 -y

检查是否安装成功

java -version

(二)rpm安装

官网下载rpm包

xshell上传到服务器

执行安装命令:

rpm -ivh jdk-8u161-linux-x64.rpm

检查是否安装成功

java -version

(三)tar安装

官网下载tar.gz包

xshell上传到服务器

移动到/opt目录下:mv jdk-8u161-linux-x64.tar.gz /opt

进入/opt目录:cd /opt

解压:tar -zxvf  jdk-8u161-linux-x64.tar.gz 

进入安装目录:cd jdk-8u161-linux-x64

配置环境变量:

vim ~/.bash_profile

添加下面的内容

export PATH="/opt/jdk1.8.0_161/bin:$PATH"

然后保存退出,使用source命令更新这个文件,命令是:

source ~/.bash_profile

输出一下环境变量,命令是:

echo $PATH

检查是否安装成功

java -version

二、阿里云linux安装jmeter

1、官网下载jmeter安装包,上传至/opt目录下,并解压

cd /opt

tar -zxvf apache-jmeter*

2、配置环境变量

vim /etc/profile

增加如下代码

#jmeter环境变量

export PATH=/root/jmeter/bin:$PATH

保存退出

source /etc/profile让配置生效

jmeter -v检查是否安装成功

三、Jmeter非GUI模式压测

非GUI界面,压测参数讲解

  • -h 帮助
  • -n 非GUI模式
  • -t 指定要运行的 JMeter 测试脚本文件
  • -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
  • -r Jmter.properties文件中指定的所有远程服务器
  • -e 在脚本运行结束后生成html报告
  • -o 用于存放html报告的目录(目录要为空,不然报错)

官方配置文件地址 http://jmeter.apache.org/usermanual/get-started.html

jmeter -n -t linux_users_api.jmx -l result.jtl -e -o /usr/local/softwate/jmeter/temp/ResultReport

jmeter -n -t /Users/jack/Desktop/linux_users_api.jmx -l result.jtl -e -o /Users/jack/Desktop/person/jmeter/temp

四、html可视化压测报告讲解

1、dashboard讲解

1)Test and Report informations Source file:jtl文件名
Start Time :压测开始时间
End Time :压测结束时间
Filter for display:过滤器
Lable:sampler采样器名称

2)APDEX(Application performance Index)
apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意
T(Toleration threshold):可接受阀值
F(Frustration threshold):失败阀值

3)Requests Summary
OK:成功率
KO:失败率
4)Statistics 统计数据
lable:sampler采样器名称

samples:请求总数,并发数*循环次数
KO:失败次数
Error%:失败率

Average:平均响应时间
Min:最小响应时间
Max:最大响应时间
90th pct: 90%的用户响应时间不会超过这个值(关注这个就可以了)
2ms,3ms,4,5,2,6,8,3,9

95th pct: 95%的用户响应时间不会超过这个值
99th pct: 99%的用户响应时间不会超过这个值 (存在极端值)
throughtput:Request per Second吞吐量 qps

received:每秒从服务器接收的数据量
send:每秒发送的数据量

2、charts讲解

1)Over Time(随着时间的变化)
Response Times Over Time:响应时间变化趋势
Response Time Percentiles Over Time (successful responses):最大,最小,平均,用户响应时间分布
Active Threads Over Time:并发用户数趋势
Bytes Throughput Over Time:每秒接收和请求字节数变化,蓝色表示发送,黄色表示接受
Latencies Over Time:平均响应延时趋势
Connect Time Over Time :连接耗时趋势

1)Throughput
Hits Per Second (excluding embedded resources):每秒点击次数
Codes Per Second (excluding embedded resources):每秒状态码数量
Transactions Per Second:即TPS,每秒事务数
Response Time Vs Request:响应时间和请求数对比
Latency Vs Request:延迟时间和请求数对比

1)Response Times
Response Time Percentiles:响应时间百分比
Response Time Overview:响应时间概述
Time Vs Threads:活跃线程数和响应时间
Response Time Distribution:响应时间分布图

五、Jmeter压测接口的性能优化

1、使用非GUI模式:jmeter -n -t test.jmx -l result.jtl

2、少使用Listener, 如果使用-l参数,它们都可以被删除或禁用。
3、在加载测试期间不要使用“查看结果树”或“查看结果”表监听器,只能在脚本阶段使用它们来调试脚本。

4、包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]
5、不要使用功能模式,使用CSV输出而不是XML
6、只保存你需要的数据,尽可能少地使用断言

7、如果测试需要大量数据,可以提前准备好测试数据放到数据文件中,以CSV Read方式读取。
8、用内网压测,减少其他带宽影响压测结果
9、如果压测大流量,尽量用多几个节点以非GUI模式向服务器施压

 

原文地址:https://www.cnblogs.com/loveapple/p/10058659.html