架构 7 周
7 周笔记
性能优化
1.性能测试主要指标
响应时间、并发数、吞吐量、性能计数器(系统负载、线程数、进程数、CPU、内存、磁盘、网络使用率)
2.性能优化的一般方法
步骤一:性能测试,获得性能指标
步骤二:指标分析,发现性能与资源瓶颈点
步骤三:架构与代码分析,寻找性能与资源瓶颈的关键
步骤四:架构与代码优化,优化关键技术点,平衡资源利用
步骤五:性能测试,进入性能优化闭环
3.系统性能优化分层
机房与骨干网络
服务器与硬件
操作系统
虚拟机
基础组件
软件架构
软件代码
练习
1. 性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
一个系统吞吐量通常由 QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的响应时间、吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。
一个系统的吞度量(承压能力)与 request 对 CPU 的消耗、外部接口、IO 等等紧密关联。单个 reqeust 对 CPU 消耗越高,外部系统接口、IO 影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟 request/事务数,一个系统吞吐量通常由 QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的响应时间、吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它资源消耗导致系统性能下降。
以图表场景为例:
从 a 到 b,随着并发数的提升,系统吞吐量也随着提升;这个期间,系统响应时间基本稳定。
从 b 到 c,系统吞吐量还在继续提升,但提升速度放缓,系统响应时间随之变长。
从 c 到 d,表示并发数到达了系统最大负载点,此时增加并发数,资源消耗过大,导致系统响应时间越来越长,吞吐量也就随着降低。
当到达系统崩溃点 d,并发数过大导致系统资源耗尽,响应时间非常慢,根据公式 吞吐量=(1000/响应时间 ms)*并发数,系统的吞吐量断崖下降。
一个系统的吞度量(承压能力)与 request 对 CPU 的消耗、外部接口、IO 等等紧密关联。单个 reqeust 对 CPU 消耗越高,外部系统接口、IO 影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟 request/事务数量
并发数: 系统同时处理的 request/事务数
响应时间: 一般取平均响应时间
QPS(TPS)= 并发数/平均响应时间
系统响应时间要素
系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;关键路径是有 CPU 运算、IO、外部系统响应等等组成。
评论