在网站上卖东西怎么做,湖南中维电力建设有限公司网站,哈尔滨专利局申请专利地址,网站建设情况检查报告Jmeter分布式
应用场景 当单个测试机无法模拟用户要求的业务场景时#xff0c;可以使用多台测试机进行模拟#xff0c;就是Jmeter的分布 式测试。
Jmeter分布式执行原理 Jmeter分布测试时#xff0c;选择其中一台作为控制机#xff08;Controller#xff09;#xff0c…Jmeter分布式
应用场景 当单个测试机无法模拟用户要求的业务场景时可以使用多台测试机进行模拟就是Jmeter的分布 式测试。
Jmeter分布式执行原理 Jmeter分布测试时选择其中一台作为控制机Controller其它机器作为代理机Agent
- 执行时控制机会把脚本发送到每台代理机上
-代理机拿到脚本后就开始执行代理机执行时不需要启动Jmeter界面可以理解它是通过命令行模式执行的。
-执行完毕后代理机会把结果传给控制机控制机会收集所有代理机的信息并汇总。
分布式相关注意事项 系统上的防火墙关闭或打开正确的端口 所有控制机、代理机、服务器都在同一网络上 所有机器的Jmeter和Java版本必须一致 关闭RMI SSL开关
Jmeter分布式配置和执行
配置 —修改bin/jmeter.properties文件 代理机 - 修改服务端口保证每个代理机都能正常启动。如果是在同一台机器上演示需要使用不同的端口多台机器可以不修改。例如server_port1999 - 将RMI SSL设置为禁用。例如 server.msi.ssl.disabletrue 控制机
- 配置代理机远程地址配置每个代理机的IPport多个代理机之间用’,连接
例如remote_hosts192.168.182.100:1099192.168.182.101:2999
- 将RMI SSL设置为禁用。例如 server.msi.ssl.disabletrue
执行
- 代理机命令行启动
- 进入bin目录运行jmeter-server.bat,启动jmeter 启动时如果显示的是上面这样的异常
原因jmeter.properties的文件找到server.rmi.ssl.disablefalse改为true并把前面的#去掉
重新启动 - 控制机界面方式启动
- 进入bin目录运行jmeter.bat,启动jmeter
选择菜单运行–远程启动/远程启动全部 案例
1.请求http://www.baidu.com
2.一台控制机和两台执行机做分布式要求控制机启动两台执行机执行反馈结果。
操作步骤
1.配置代理机一并启动
jmeter1启动jmeter-server.bat文件 2.配置代理机二并启动
jmeter2启动jmeter-server.bat文件 3.配置控制机并启动
主程序启动jmeter.bat文件,启动jmeter运行–远程启动/远程全部启动 4.添加线程组
5.添加HTTP请求-百度
6.添加查看结果树 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、添加聚合报告收集系统性能指标响应时间、吞吐量、错误率、网路速率实现 HTML测试报告
作用Jmeter支持生成HTML测试报告以便从测试计划中获得图表和统计信息
命令
jmeter -n -t [jmx file] -l [result file] -e -o [html report folder]
eg:jmeter -n -t hello.jmx -l result.jtl -e -o ./report参数描述
-n非GUI模式执行的Jmeter
-t [jmx file]测试计划保存的路径及.jmx文件名路径可以是相对路径也可以是绝对路径
-l [result file]:保存生成测试结果的文件,jtl文件格式
- e:测试结束后生成测试报告
- o [html report folder]:存放生成测试报告的路径路径可以是相对路径也可以是绝对路径
注意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天 1*24小时 24*3600秒
套入公式
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:0017:00-24:00其中19:00-20:00的成交量最大大约成交20亿。
现系统升级需要进行性能测试保证软件在上线后能稳定运行。
请计算出系统稳定性测试时的并发负载量及保证系统峰值业务时的并发负载量。
稳定性并发量 并发TPS有效请求数 * 80% / 有效时间*20% 并发TPS 100亿/300*80%/(3600*11个小时*20%)
压力并发量
并发TPS峰值请求数/峰值时间 * 系数压力TPS20亿/300/(3600*1个小时*系数
Jmeter下载第三方插件
说明先下载Jmeter插件管理工具包再用此包下载Jmeter插件
下载插件管理包步骤
下载包管理工具Jar包将包管理工具jar包添加到Jmeter放入到 lib\ext目录下重启Jmeter可以在选项下看到插件管理器 安装第三方插件的步骤
打开Plugins Manager插件管理器选择Avaiable Plugins当前可用的插件选择需要下载的插件等待右方文本内容展示出来下载右下角的下载按钮自动的完成下载Jmeter会自动重启 需要下载的插件 并发数及Jmeter性能测试常用图表
性能测试常用图表
Concurrency Thread Group线程组
阶梯线程组作用是阶梯加压图形界面显示运行状态
添加方式测试计划–线程用户—Concurrency Thread Group 参数介绍
Target Concurrency: 目标并发线程数Ramp Up Time:加速时间Ramp-Up Steps Count加速步骤计数Hold Target Rate Time运行时间Time Unit:单位时间分钟或者秒Thread Iterations Limit:线程循环次数Log Threads Status into File:日志记录
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、添加性能测试常用图表PerfMon组件监控服务器资源
作用用来监控服务端的性能资源指标的工具包括CPU、内存、磁盘、网络等性能数据。
添加方法线程组–监听器–jpgc - 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的插件jpgc - PerfMon Metrics Collector就可以收集服务端的资源使用率并在jmeter中查看了。
案例一
1. 启动windows上安装的Tpshop商城项目
2. 使用Jmeter编写脚本访问首页控制运行时间为60s并同步监控服务器资源指标。监控性能指标的步骤windows服务器
1.上传ServerAgent-2.2.3.zip到windows服务器上并进行解压
2.启动ServerAgent程序ServerAgent.bat
3.添加线程组配置持续时间为60s
4.添加HTTP请求-首页
5.添加PerfMon组件
6.添加聚合报告 监控性能指标的步骤linux服务器
下载ServerAgent程序并上传到服务器上 通过xshell工具上传到指定的目录下 手动启动ServerAgent程序windows服务器startAgent.batlinux服务器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监控组件并配置