性能测试2【搬代码】

1.性能测试脚本完善以及增强
2.jmeter插件安装以及监控使用
3.性能压测场景设置(基准、负载、压力、稳定性)
4. 无界面压测场景详解

一、性能测试脚本完善以及增强
使用控制器的目的是使我们的脚本更加接近真实的场景
1.逻辑控制器:

【事务控制器】:将几个接口放入事务控制器下面可以将他们的数据平均数相加

事务控制器页面

如果Generate parent sample不勾选,聚合报告会显示事务下的接口数据和独立的事务总和

如果Generate parent sample勾选,聚合报告会仅显示设置事务下接口数据总和

【仅一次控制器】:

如果有10个用户,线程组循环次数=10;聚合报告样本只显示10.

【吞吐量控制器】:

Based

Total Executions:(默认)按百分比分配流量

percent Executions:代表总次数

定时器:

【固定定时器】:

【统一随机定时器】:

【高斯随机定时器】:

3.集合点:

jmeter叫做同步定时器,用于实现并发;位置:线程组-添加-定时器-Synehronising Timer【同步定时器】

达到设置数量后才会发送数据

4.简单的压一压:

线程数:虚拟用户数100

Ramp-UP:多久加载完虚拟用户数。20

循环次数:3

每个接口的总请求:100*3=300个

二、安装插件

安装插件工具jmeter-plugins-manager-1.9.jar

插件下载地址:https://jmeter-plugins.org/downloads/all/

https://jmeter-plugins.org/install/Install/
PerfMon Metrics Collector使用原理:

1.需要在服务器安装一个ServerAgent.zip,用于收集服务器的性能参数。

然后通过4444端口输出

2.在PerfMon Metrics Collector组件中通过4444端口区捕获服务器性能参数。

linux上传ServerAgent.zip
在Linux中进入任意一个目录
cd /xxx 到该目录下
rz 上传包命令
mkdir ServerAgent 创建文件夹
unzip ServerAgent.zip -d ServerAgent 解压ServerAgent.zip到指定文件夹ServerAgent中
cd ServerAgent 进入文件夹
ls  后可以看到startAgent.sh这是Linux中的启动
chmod 777 startAgent.sh 给startAgent.sh一个可执行权限
sh startAgent.sh & 启动startAgent.sh 其中&的意思是在后台运行
当启动后出现Binding TCP to 4444说明服务启动成功
systemctl stop firewalld.service 然后关闭防火墙
然后在jmeter中监听器PerfMon Metrics Collector启用
点击Add Row :Host/ip 输入服务器ip,端口port:4444,在Metric to collect中选择你要看cpu还是内存Memory
然后点击启动蓝色按钮,就可以看到检测服务器的监控图了。
监控图的作用主要是:
1.看趋势,找性能拐点
2.写性能测试报告


三、实际性能压测的场景设置

场景:性能测试用例

1.旧系统来自于运维

2.新系统来自于合理的预估

按场景预估和规矩预估;做OA,总用户10000个,测试打开功能做并发,8:30-9:00打开比较多

按照2/8原则:半个小时并发8000个人,8000/1800=4.44约等于5,最多50并发

一般大部分公司很难超过500.5000以上、1万、十万一定要集群

.

服务器(集群)和压力机(集群)

1.但接口基准测试:使用一个用户测试接口5min。

目的:为了在没有任何压力的情况下:查看各项性能指标。

每个项目关注的数据都是不一样的

cpu内存、网络磁盘、tps响应时间,除了这些还有一些如下图所示:

一般就这些
2.单接口负载测试场景:

(测试计划和方案一般会写在一起,上面是计划下面是方案

测试计划:是人员测试的安排

测试方案:怎么测,关注哪些指标,用什么工具去测。)

通过逐渐的对一个接口进行施压直到出现性能拐点。(这个拐点不是指其中的一块,有可能是CPU的、 中间件、数据库、慢查询锁表等,只要有任何一个地方出现拐点,我们就会把他记录下来,最大的并发量就在这里确定了)获得被测接口的最大处理能力以及相关的性能指标
3.混合负载压测场景;

目的是为了验证整个业务的最大的最右性能提现。终端在于模型的设计。模型来自于数据,来自于生产环境的日志,或者产品经理给的

怎么做:用什么

1.递增式线程组,共进式线程组:用的最多的

2.极限线程组:用来做极限测试或者浪涌测试

压测策略,压测场景,压测用力

This group will start:启动多少个线程数

First,wait for:等待多少秒开始压测,一般为0

Then start;一开始有多少个线程数,一般为0

================================

Next add

threads every

using ramp-up

每多少秒启动多少个虚拟用户数,每组数据持续运行多少秒

=================================

Then hold load for 60:当你把虚拟用户数都加满之后负载运行多久

4-24小时:一般是8小时,可以是4、8、12、24小时用来做持续不断的压力测试

=================================

Finaliy stiop

threads every

每一秒停止5个虚拟用户数。

3.压力测试场景:

验证系统的极限。直到有任何一个性能指标超出预期。

4.稳定性测试场景。

在压力测试下持续运行4-24小时。

五、无界面压测

理论--》指标--》压测脚本--》脚本完善和增强--》模拟真是场景--》压测场景--》监控平台-》平静定位和性能调优

当我们走到压测场景的时候,就开始压测,我们不是使用的jmeter压测,我们使用的是无界面压测

相关推荐
程序猿进阶36 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
工业甲酰苯胺8 小时前
Redis性能优化的18招
数据库·redis·性能优化
无尽的大道14 小时前
深入理解 Java 阻塞队列:使用场景、原理与性能优化
java·开发语言·性能优化
loey_ln14 小时前
webpack配置和打包性能优化
前端·webpack·性能优化
郭梧悠1 天前
HarmonyOS(57) UI性能优化
ui·性能优化·harmonyos
奈斯ing1 天前
【Oracle篇】SQL性能优化实战案例(从15秒优化到0.08秒)(第七篇,总共七篇)
运维·数据库·sql·oracle·性能优化
青云交2 天前
大数据新视界 -- Impala 性能优化:分布式环境中的优化新视野(下)(28 / 30)
大数据·性能优化·资源管理·impala·优化策略·分布式环境·数据布局
hummhumm2 天前
第 24 章 -Golang 性能优化
java·开发语言·前端·后端·python·性能优化·golang
白茶等风121382 天前
准备阶段 Profiler性能分析工具的使用(一)
unity·性能优化