性能测试分为两个部分:1⃣️测试方法 2⃣️性能指标
测试方法:用什么样的套路执行测试,性能指标:如何用数值来描述你测试对象的性能
性能测试分析步骤:
第一步:了解系统架构设计,基础组件、调用链关系,应用场景,特点等
重点被测对象:一切与io有关的操作,比如文件读写、数据库读写、网络调用、缓存等
第二步:确定压测类型和性能指标
压力测试:让系统产生过载的压力,评估系统超负载后的风险
稳定性测试:持续一定时间长的压力,暴力系统缺陷
容量测试:各个系统指标在一段时间内是否稳定
负载测试:不断增加对系统的负载,获得系统在不通负载下的性能指标
性能指标:
吞吐量:固定时间内处理完毕的事务个数。 分为平均吞吐量,最高吞吐量
响应时间:一个请求发出,到服务器处理后返回的时间。分为平均响应时间,90%响应时间,最小最大响应时间
CPU、内存占用率:反应系统资源利用情况
第三步:搭建环境、制作脚本,调试脚本
1、对标生产环境、压测类型 搭建性能测试环境
2、写压测脚本,收集日志+数据
前期的话,尽量每发一个请求,打印一个日志,或者每1000条打印一次日志,每次压测完,收集一次原始数据,比如发包总数、最大最小平均吞吐量,最大最小平均响应时间,cpu、iowait等
3、对照数据,确保脚本的正确性
比如失败的请求数是多少,响应时间是否在合理范围内,收到请求数与实际发包总数一直
cpu空闲如果大于20%说明cpu还没有压满,需要增大客户机。
每次压测的平均吞吐量很大,说明其他干扰因素
第四步:执行、反馈、再执行
执行: 在真实压测环境上测试,并且收集结果,绘制成图,分析各个性能指标找到问题
反馈:根据系统设计,推测可能出现的问题,与开发、架构师一起商讨
解决:解决问题,再继续压测
核心内容:发现问题、解决问题,再发现问题,再解决问题
第五步:总结问题,性能测试报告
性能测试的后期,总结这段时间发现的问题,汇总压测数据
发现的问题,现有的解决方案,存在的风险,后续安排等等