全网最牛,JMeter性能测试步骤与结果分析压力 / 负载测试详全,精品太干了

一、前言

1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖

在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户

简单说,可以帮我们对系统进行定容 定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS (每秒事务数)、RT(事务平均响应时间)、cpu Using(cpu利用率)、Mem Using(内存使用情况)等软硬件指标

从操作层面来说,负载测试也是一种性 能测试手段,比如下面的配置测试就需要变换不同的负载来进行测试

2、压力、强度测试:
在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源, 硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是 否稳定的指标包括TPS、RT、cpu Using、Mem Using等

二、负载、压力、可靠性(非常重要)

场景类型 用户数量(线程数) 思考时间(固定定时器或高斯随机定时器) 集合点(同步定时器) 场景加压(加压时间) 运行时间(循环次数或配置调度器) 判定场景成功/失败条件
压力(狭义并发) 50,60,70,80… 禁用 开启 一次完成 一次 服务是否崩溃
负载 50 开启高斯随机定时器 关闭 2-5分钟内完成 20分钟–2小时
启用调度器
1.事务通过率
2.事务时间
可靠 10 开启高斯随机定时器 关闭 2-6分钟内完成 启用调度器 24小时
36小时
72小时
1.内存泄漏(30分钟记录一次内存)
2.服务器是否崩溃

三、压力测试实战

1、线程组设置,这里的线程数与同步定时器的用户数量一样

请添加图片描述


2、添加HTTP cookie管理器

请添加图片描述


3、认请求值

请添加图片描述


4、添加一个事务控制器,可以当作一个业务

请添加图片描述


5、在事务控制器下添加同步定时器
设置用户数量,这里与线程组的线程数一样,超时时间可设置

请添加图片描述


6、添加脚本(http请求)

请添加图片描述


7、添加查看结果树

请添加图片描述


8、添加jp@gc - PerfMon Metrics Collector进行监控cpu、Memory、disks I/O、Network I/O等。添加处:添加->监听器

请添加图片描述


9、在最后添加一个聚合报告,添加处:添加->监听器

请添加图片描述

四、负载测试实战

1、线程组设置50个用户(持续时间:按秒计算,这里300=60*5,意思就是运行时长为5分钟)

请添加图片描述


2、添加HTTP cookie管理器

请添加图片描述


3、认请求值

请添加图片描述


4、添加一个事务控制器,可以当作一个业务

请添加图片描述


5、在事务控制器下添加高斯随机定时器
总的延时 = 固定延迟时间 + 高斯随机生成的偏差值(说明:单位都是毫秒,固定延迟300ms,偏差100ms,意思是时间延迟300-400ms之间)

请添加图片描述


6、添加脚本(http请求)

请添加图片描述


7、添加jp@gc - PerfMon Metrics Collector进行监控cpu、Memory、disks I/O、Network I/O等。添加处:添加->监听器

请添加图片描述


8、在最后添加一个聚合报告添加处:添加->监听器

请添加图片描述

五、资源监控

聚合报告、jmeter监控服务器资源

1、Windows自带的资源监工具

5个主要指标:
1.cpu使用率
2.队列长度
3.可用内度
4.硬盘读写时间
5.网络带宽

2、Jmeter里面的第三方监理插件

Perfmon插件

3、Linux资源监控

1.cpu:top (在命令行输入)

more /proc/cpuinfo

2.内存:

free -m

vmstat 刷新频率
例如:

vmstat 15    

(说明:15秒刷新频率)

3.硬盘大小:

df -m
fdisk -l

注意:
1.Error错误
2.看cpu、内存
3.看聚合报告里面的请求时间


请添加图片描述

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念