• JMeter分布式
  • JMeter分布式


    在这里插入图片描述
  • JMeter分布式执行原理
    在这里插入图片描述
  • 分布式相关注意事项
  • 关闭防火墙
  • 所有的控制机、代理机、服务器都在同一个网络上
  • 所有机器的jmeter和java版本一致
  • 关闭RMI SSL开关
  • jmeter分布式配置和执行
    在这里插入图片描述
    在这里插入图片描述

案例:

1.请求:http://www.baidu.com

2.一台控制机和两台执行机,做分布式;要求控制机启动,两台执行机执行,反馈结果。
操作步骤:
在这里插入图片描述

  • 1.配置代理机一,并启动
    • 配置jmeter1:修改bin/jmeter.properties文件
      在这里插入图片描述
      在这里插入图片描述
    • 启动jmeter1:启动jmeter-server.bat文件
  • 2.配置代理机二,并启动
    • 配置jmeter1:修改bin/jmeter.properties文件
      在这里插入图片描述
      在这里插入图片描述
    • 启动jmeter2:启动jmeter-server.bat文件
  • 3.配置控制机,并启动jmeter.bat文件
    • 配置控制机:修改bin/jmeter.properties文件在这里插入图片描述

在这里插入图片描述

  • 4.添加线程组

  • 5.添加HTTP请求-百度

  • 6.添加查看结果树
    在这里插入图片描述

问题:按照以上配置jmeter1/2,启动jmeter-server.bat文件,报错
在这里插入图片描述

解决办法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、获取你的局域网 IP
ifconfig | grep "inet " | grep -v 127.0.0.1

2.1、编辑 jmeter-server 启动脚本:
nano /Users/mac/Downloads/Agent/jmeter1/bin/jmeter-server
2.2找到 RMI_HOST_DEF,或者在文件开头添加:
export RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.100


3、使用正确 IP 重新启动 JMeter 服务器
export RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.100
/Users/mac/Downloads/Agent/jmeter1/bin/jmeter-server


在这里插入图片描述
在这里插入图片描述

  • 修改后分别启动jmeter1/2,启动jmeter-server.bat文件
  • 启动控制机的jmeter.bat文件
  • 查看结果树(运行-进程所有启动)
    在这里插入图片描述
  • jmeter测试报告

    jmeter测试报告

  • 聚合报告

作用:收集性能测试结束后,系统的各项性能指标。如:响应时间、并发数、吞吐量、错误率等。

位置:测试计划–>右键–>监听器–>聚合报告
在这里插入图片描述
参数介绍:
参数介绍:

  • Label:每个请求的名称

  • 样本:各请求发出的数量

  • 平均值:平均响应时间(单位:毫秒)

  • 中位数:中位数,50%<=时间

  • 90%百分比:90%<=时间

  • 95%百分比:95%<=时间

  • 99%百分比:99%<=时间

  • 最小值:最小响应时间

  • 最大值:最大响应时间

  • 异常%:请求的错误率

  • 吞吐量:吞吐量,默认情况下表示每秒完成的请求数,一般认为它是TPS。

  • 接收KB/sec:每秒接收到的千字节数

  • 发送KB/sec:每秒发送的千字节数

  • 补充:

    • 正常情况下,响应时间的结果取平均值
    • 响应时间最大值特别高,(超出平均水平特别多),导致平均值不能代表正常/大部分水平时,可以使用百分比时间

案例:
1、请求:https://www.baidu.com
2、模拟5个用户并发,控制服务器QPS为20运行时长设置为1分钟
3、添加聚合报告,收集系统性能指标:响应时间、吞吐量、错误率、网路速率
步骤:

  • 添加线程组-设置并发用户数,持续时间
    在这里插入图片描述
  • 添加HTTP请求-百度
    在这里插入图片描述
  • 添加常数吞吐量定时器-设置每个用户每秒运行时长
    在这里插入图片描述
  • 添加鉴定器-聚合报告
    在这里插入图片描述
  • html测试报告
  • 作用:Jmeter支持生成HTML测试报告,以便从测试计划中获得图表和统计信息
  • 命令:
    在这里插入图片描述
  • 注意:result.jtl和report会自动生成,如果在执行命令时result.jtl和report已存在,必须用先删除,否则在运行命令时,会报错。

案例:
1、请求:https://www.baidu.com
2、模拟5个用户并发,控制服务器QPS为20,运行时长设置为1分钟
3、使用命令行的方式运行,并收集HTML测试报告
在这里插入图片描述

Jmeter测试报告的内容介绍
仪表盘统计
在这里插入图片描述
APDEX(应用性能指标):

  • APDEX:满意度,范围在0-1之间,1表示达到所有用户均满意

  • T(Toleration threshold):容忍或满意阈值

  • F(Frustration threshold):失败阈值

  • Request Summary(请求总结):

    • 成功与失败的请求占比,KO指失败率,OK指成功率
  • 详细信息:

    • HTML测试报告:
    • -chart(详细信息图标):它包括Throughput(吞吐量)、Response Times(响应时间)等
      在这里插入图片描述
      在这里插入图片描述
  • 并发数计算

    并发数计算

  • 性能测试时TPS计算
    在这里插入图片描述
  • 性能测试时的TPS,大都是根据用户真实的业务数据(运营数据)来计算的
  • 运营数据:
    在这里插入图片描述
  • 普通计算方法(满足最基本要求)
  • 普通计算方法:
    计算公式:TPS=总请求/总时间

  • 数据分析:
    根据数据统计,在2019年第32周,日均PV为4.13万,可以估算为1天有4.13万请求(1次浏览都至少对应一个请求)
    总请求数=4.13万 请求数=41300
    总时间 = 1天 =124小时 =243600秒
    套入公式:
    TPS = 41300请求数/24*3600秒 =0.48请求数/秒

  • 结论:按照普通计算方法,理论上每秒能够处理0.48请求,就可以满足线上的需要(只能满足最基本的要求,但是不能很好覆盖系统正常的使用情况)

  • 二八原则(满足系统绝大多数情况下的应用场景的需要)
  • 二八原则计算方法:
    二八原则就是指80%的请求20%的时间内完成

  • 计算公式:TPS=总请求*80%/(总时间*20%)
    套入公式:
    TPS: 41300*0.8请求数/24*3600*0.2秒 =1.91请求数/秒

  • 结论:按照二八原则计算,在测试环境我们的TPS只要达到1.91请求数每秒就能满足线上需要。
    二八原则的估算结果会比平均值的计算方法更能满足用户需求

  • 计算稳定性测试并发量(通常用来做稳定性测试
    在这里插入图片描述
  • 结合二八原则计算公式:TPS = 总请求数 * 80% /(总时间*20%)
    需要在测试环境模拟用户正常业务操作(稳定性测试)的并发量为:
    TPS: 40474 * 0.8 请求数 / 16 * 3600 * 0.2秒 = 2.81请求数/秒

  • 并发TPS =有效请求数 * 80% /(有效时间*20%)
    当运营数据统计越精确时,计算出的并发TPS与实际的越接近

  • 计算压力测试并发量(通常用来做压力测试
    在这里插入图片描述
  • 计算压力测试的并发数:TPS =峰值请求数/峰值时间 * 系数

  • 需要在测试环境模拟用户峰值业务操作(压力测试)的并发量为:
    TPS = 8853 请求数 / 3600秒 * 3(系数) =7.38请求数/秒

  • 满足峰值请求时间段内的负载量,系数取决于项目组对于未来业务量的评估

  • 练习

练习:

某购物商场,经过运营统计,正常一天成交额为100亿,客单价平均为300元,交易时间主要 为10:00-14:00,17:00-24:00,其中19:00-20:00的成交量最大,大约成交20亿。

现系统升级,需要进行性能测试,保证软件在上线后能稳定运行。

请计算出系统稳定性测试时的并发(负载)量,及保证系统峰值业务时的并发(负载)量。
`

  • 稳定性并发量:
    并发TPS=有效请求数 * 80% / 有效时间*20%
    并发TPS= (100亿/300*80%)/(3600*11个小时*20%)

  • 压力并发量:
    并发TPS=峰值请求数/峰值时间 * 系数
    压力TPS=(20亿/300)/(3600*1个小时)*系数

  • Jmeter下载第三方插件

Jmeter下载第三方插件

说明:先下载Jmeter插件管理工具包,再用此包下载Jmeter插件

下载插件管理包步骤:

  • 下载包管理工具Jar包
  • 将包管理工具jar包添加到Jmeter放入到 lib\ext目录下
    在这里插入图片描述
  • 重启Jmeter,可以在选项下看到插件管理器
    在这里插入图片描述

安装第三方插件的步骤:

  • 打开Plugins Manager插件管理器
  • 选择Avaiable Plugins,当前可用的插件
    在这里插入图片描述
  • 选择需要下载的插件(等待右方文本内容展示出来)
    在这里插入图片描述
  • 下载右下角的下载按钮,自动的完成下载,Jmeter会自动重启
    在这里插入图片描述
  • 并发数及Jmeter性能测试常用图表

并发数及Jmeter性能测试常用图表

性能测试常用图表

  • Concurrency Thread Group线程组

阶梯线程组:作用是阶梯加压图形界面显示运行状态

添加方式:测试计划–>线程(用户)—>Concurrency Thread Group
在这里插入图片描述
在这里插入图片描述

  • 图形化的展示配置的线程数和运行时间,在运行时的过程
  • Transations per Second

每秒完成事务数:作用是统计各事务每秒钟成功的事务个数

添加方式:测试计划–>线程组–>监听器–>Transations per Second
在这里插入图片描述

  • Bytes Throughput per Second

每秒字节吞吐量:作用是查看服务器吞吐流量(单位/字节)

添加方式:测试计划–>线程组–>监听器–>Bytes Throughput Over Time
在这里插入图片描述

  • 每秒性能指标统计

作用:
性能测试的结果统计,以聚合报告的结果为准
每秒性能指标的作用是:查看系统长时间运行过程中是否有异常出现,有则进一步分析。
在这里插入图片描述

1、请求:https://www.baidu.com
2、模拟5个用户并发,控制服务器QPS为20,运行时长设置为1分钟
3、添加性能测试常用图表
步骤:

  • 添加阶梯线程组
    在这里插入图片描述
  • 添加HTTP请求
  • 添加常数吞吐量定时器
    在这里插入图片描述
  • 添加监听器-聚合报告/各项性能指标
    在这里插入图片描述
  • 添加线程组-搜狐
    在这里插入图片描述
  • 添加HTTP请求-搜狐

  • 查看监听器-系统性能各项指标
    在这里插入图片描述

  • PerfMon组件监控服务器资源

PerfMon组件监控服务器资源

  • 作用:用来监控服务端的性能资源指标的工具,包括CPU、内存、磁盘、网络等性能数据。

  • 添加方法:线程组–>监听器–>jp@gc - PerfMon Metrics Collector

  • 注意:使用之前需要在服务器端安装监听服务程序并启动
    在这里插入图片描述

监控服务器资源指标的步骤:

  • 下载安装包ServerAgent-2.2.3.zip,链接地址:https://github.com/undera/perfmon-agent
  • 上传到服务器上,并解压ServerAgent-2.2.3.zip
  • 启动,如果是windows运行ServerAgent.bat,如果是linux 运行startAgent.sh
  • 启动这个工具后,jmeter的插件jp@gc - PerfMon Metrics Collector就可以收集服务端的资源使用率,并在jmeter中查看了。
    在这里插入图片描述

案例一:

  1. 启动windows上安装的Tpshop商城项目
  2. 使用Jmeter编写脚本,访问首页,控制运行时间为60s,并同步监控服务器资源指标。

操作步骤:

  • 1.上传ServerAgent-2.2.3.zip到windows服务器上,并进行解压

  • 2.启动ServerAgent程序ServerAgent.bat

  • 3.添加线程组,配置持续时间为60s

  • 4.添加HTTP请求-首页

  • 5.添加PerfMon组件
    在这里插入图片描述

  • 6.添加聚合报告

  • 监控性能指标的步骤(linux服务器):
  • 下载ServerAgent程序,并上传到服务器上
    • 通过xshell工具上传到指定的目录下
  • 手动启动ServerAgent程序,
    • windows服务器startAgent.bat,
    • linux服务器startAgent.sh

操作步骤:
在这里插入图片描述

  • (1)解压缩: unzip ServerAgent2.2.3.zip

  • (2)进入ServerAgent目录,赋权限:

    • cd ServerAgent-2.2.3
    • chmod -R 777 *
  • (3)启动ServerAgent程序 ./startAgent.sh
    在这里插入图片描述

案例:
添加HTTP请求 - 请求litemall首页
在这里插入图片描述

  • 在Jmeter中添加PerfMon监控组件,并配置
    在这里插入图片描述
Logo

更多推荐