架构师训练营课后总结 - 性能测试
1:系统性能指标
客观指标:
给用户感知的性能,用户感知的是响应性。
主观指标:
性能测试出来的系统指标
2:主要性能测试客观指标:
响应时间:发起请求到收到响应时间,一般用毫秒表示。
并发数:请求并发数
吞吐量:公式(1000/响应时间)*并发数
单位时间内系统处理的请求数量,一般用请求数/秒表示。 常见的TPS(每秒事务数),HPS(每秒http请求数),QPS(每秒查询数)
性能计数器:系统的 cpu,systemload ,内存,网络,硬盘,线程数等指标。监控这些指标,设置报警阀值。
3:测试方法
主要包括:性能测试,负载测试,压力测试,稳定性测试
性能测试:
目的测试系统是否符合预期目标。
对系统不断添加压力,验证系统资源在可承受范围内,符合性能预期(响应时间)。
负载测试:
对系统不断添加压力达到资源瓶颈点。
达到资源瓶颈点后,如果系统做限流抛弃处理不了的请求,可以保持平稳,否则响应时间不断变长,直至系统响应不过来,吞吐量不断下降。
压力测试:
达到资源瓶颈后继续施加压力,看系统的承受力。
稳定性:
模拟现实场景,长时间,不均匀加压看系统是否可稳定运行。
4:性能测试结果
对系统不断加压,观察响应时间的变化。起始阶段系统的响应时间没有明显变化,压力达到某个点后响应时间会逐渐变长,继续加压,达到某个临界点响应时间超过可用性,并突然加大。吞吐量先上升后平稳再下降。
吞吐量随并发数的变化示意图
响应时间随并发数的变化示意图
不同系统实现曲线不同,但吞吐量都是先上升后平稳再下降。而响应时间是先不变,后升高。
性能测试的结果就是找到本系统的性能曲线图,然后让系统在安全边际内运行。
系统的运行区间选择
可以让系统在保证最佳响应时间的区间内运行(b点左侧运行),也可以让系统在安全情况下发挥最大性能,尽量在高吞吐量下运行(b点右侧,c点左侧)。
具体偏向哪个位置根据公司资源情况与对将来系统并发的预测。
资源充足或预计并发增长较快就保留比较大的安全区。否则就尽量让系统发挥最大性能。
系列目录
性能优化专题
评论