架构师第七周
这周学习到性能测试与性能优化方面的知识
性能测试
性能测试时性能优化的前提, 而性能测试也分为两个维度: 主观(用户感受) 、客观(衡量指标)
性能测试的指标(三剑客)有: 响应时间、并发数、吞吐量
响应时间: 发出请求开始, 到收到最后响应数据的需要时间
并发数: 同时提交请求的用户数目 (用户可分为 在线用户数、系统用户数)
吞吐量: 请求数/秒 (一般这样度量), 包含 TPS、QPS、HPS 等
吞吐量的计算公式: 吞吐量 = ( 1000 / 响应时间 ms ) * 并发数
性能测试的系统资源指标有: System Load、对象与线程数、内存使用、CPU 使用、磁盘与网络 I/O
其中 System Load 指一定时间范围, CPU 单位时间内 正在处理的线程数 与 等待的线程数 之和
如果 System Load 的大小与 CPU 核数一致或接近, 是最合理的, 代表系统没有过高负载, 且 CPU 资源利用率最高
性能测试分为三个阶段: 性能测试、负载测试、压力测试
性能测试: 性能指标 是否达到预期目标
负载测试: 某项或多项资源达到安全临界值
压力测试: 最大承受能力, 崩溃点
附: 还有一项 稳定性测试, 不均匀的施加压力, 模仿线上流量
性能优化
系统性能优化的分层思想
机房与骨干网络性能优化
服务器与硬件性能优化
操作系统性能优化
虚拟机性能优化
基础组件性能优化
软件架构性能优化
软件代码性能优化
性能优化的三种核心方式: 缓存、异步、集群
评论