一、性能测试技能树
二、性能测试流程
三、性能测试相关术语
性能测试指标就是: 多(并发量)快(响应时间)好(稳定性【长时间运行】)省(资源使用率)、思考时间
1、负载
模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖
2、性能测试
模拟用户负载,系统在负载的情况下,查看响应时间、吞吐量及TPS是否满足性能要求
响应时间:客户感知的感应时间,是端到端的;响应时间的标准是2s(非常好)、5s(可以接受)、8s(上限)
并发用户数:性能测试要用多个jmeter
系统用户数:影响磁盘空间,对查询有影响,做系统性能测试时,要初始化环境【没有做初始化的性能环境等于没有作用】
自测:A--B,A到B背靠背网络链接,响应时间超快
A--应用服务在上海,B--数据存储在北京
运维:注入网络延时的方法
数据库:数据库dump
在线用户数:web-session,保持会话,保存到内存
初始化环境:warm up 热机,让磁盘调内存,让内存接近真实场景
3、负载测试
在一定的软硬件环境下,在满足性能指标情况下,不断加大负载,来看系统能够承受的最大用户数
4、压力/强度测试
系统在高负载的情况下,运行是否稳定,还要看各项指标
5、稳定性测试
满足性能要求的负载情况下,加大1.5到2倍的负载量进行测试,查看系统的各项性能指标是否稳定
四、JMeter运行原理
远程运行逻辑:
- 远程负载机首先启动Agent程序,待控制机连接;
- 控制机连接上远程负载机;
- 控制机发送指令(脚本及启动命令)启动线程;
- 负载机运行脚本,回传状态(包括测试结果);
控制机收集结果并显示;
五、性能需求的主要采集内容
1、系统架构(物理架构与逻辑架构,包括中间件配置,数据库配置),在测试环境建立时需要参考
2、采集业务并量化业务:计算TPS及并发用户数时用到
3、了解业务扩展趋势,比如业务年增长率
4、了解业务是否有归档机制,一段时间将无用或者过期的数据移到归档库
5、采集业务发生时段,比如一天产生20000订单,高峰1小时就产生10000单,而不是平均1小时,对计算TPS与并发用户数有用
6、采集在线用户数、活动用户数、业务分布
7、系统是否与第三方有联系,测试时是否要做挡板
8、采集业务性能指标,TPS及吞吐量
9、采集系统硬件指标,CPU利用率、内存使用情况
六、系统硬件指标阀值
指标名称 | 阀值 | 指标说明 |
CPU使用率 | <70% | 过大会导致服务不稳定 |
内存利用率 | <70% | 同上 |
Disk Time | <70% | 过大导致IO等待时间变长,服务水平降低 |
网络带宽 | <70% | 过大导致网络阻塞,网络延时超长,响应时间变长 |
七、明确性能指标
1、吞吐量(PV、TPS)
2、响应时间
3、成功率
4、稳定波动正常范围
5、其他各项硬件性能指标
八、测试计划包括哪些内容
1、系统概述
2、测试环境
系统测试环境、系统生产环境、测试执行环境
3、需求分析
采集系统性能需求,确认性能测试需求范围
4、测试策略
5、测试场景
6、测试准备
环境准备、数据准备
7、测试计划
8、测试组织架构
9、交付物清单
性能测试计划、测试报告、测试脚本
10、系统风险