1 概念
性能测试针对系统的性那个你指标,建立性能测试模型,制定性能测试方案、制定监控策略,在场景条件之下执行性能测试场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值
2 性能测试指标
理论上有时间指标、容量指标、资源利用率指标。
其实把系统压死也是指标
3 性能测试模型
3.1 业务模型是什么
我们有10种业务,但不是每个业务都需要并发量,可能只有2个业务需要,那就要把这些业务进行统计,哪个业务并发多,哪个业务并发少,做压力就需要控制好比例
3.2 线上导流做模型
很多互联零售业、云基础架构全面发展,直接在线上导流来做性能测试,这个就是从生产流量导过来的模型
3.2 测试环境做模型
银行等金融企业,线上交易一个都不能错,这个就需要在测试环境做模型模拟生产的流量
4 性能测试方案
方案内容:测试环境、测试数据、测试模型、性能指标、压力策略、准入准出、进度风险
测试计划:使用项目管理工具画出来,比如project
5 性能测试监控
分层、分段的能力,要有全局监控、定向监控的能力
6 性能测试有预定的条件
包括硬件环境、测试数据、测试执行策略、压力补偿等内容。
动态扩展:动态扩展的条件也是有确定的策略,我们判断CPU使用率达到80%或I/O响应时间达到10ms时,就做动态扩展。
7 性能测试场景
性能测试场景中的“场景”:在既定的环境(包括动态扩展等策略)、既定的数据(包括场景执行中的数据变化)、既定的执行策略、既定的监控之下,执行性能脚本,同时观察系统各层级的性能状态参数变化,并实时判断分析场景是否符合预期。
性能测试场景分类:
1)基准性能场景:这里做的是单交易的容量,为混合容量做准备。
上几个线程跑几遍脚本不是基准测试,只是预执行用来确定有没有脚本和场景设计问题。
2)容量性能场景:核心性能执行部分。根据业务复杂度的不同,这部分场景会设计出很多个。
3)稳定性性能场景:是性能测试场景的一个分类。只是实绩项目中,稳定性测试基本没有和生产一致过。在稳定性测试中,显然最核心的是时间(业务模型在容量场景确定),而时间的设置应该来自于运维周期。
4)异常性能场景:需要在压力流量之下,模拟异常
8 性能测试中的分析调优
性能项目分类:
1)新系统性能测试类:这样的项目一般都会要求测试出系统的最大容量,要不会不知道底线。
2)旧系统新版本性能测试类:这样的项目一般都是和旧版本对比,只要性能不下降就可以根据历史数据推算容量,对调优要求一般不大。
3)新系统性能测试优化类:这里的系统不仅要测试出最大容量,还有要求调优到最好。
性能团队职责定位:
1)性能验证:针对给指定的指标,只做性能验证。
2)性能测试:针对给定的系统,做全面的性能测试,可以得到系统最大容量,但不会调优。
3)性能测试+分析调优:针对给定的系统,做全面的性能测试,同时将系统调优到最优状态。
9 性能测试结果报告
性能测试报告中我们要写上调优前后的TPS、响应时间、资源对比图