性能术语
等待时间: 在给定工作量下处理一个任务单元消耗的时长。通常,都是在工作量“正常”的情况下提到等待时间的。
吞吐量: 系统在限定资源,限定时长内能完成的单位工作量。用的最多的是在某一个参考平台(比如指明了硬件配置,操作系统和软件环境的特定品牌服务器)上的每秒事务处理数。
利用率: 可用资源中用来处理工作单元(而不是清理任务或处于空闲状态)的资源百分比。通常说的服务器资源利用率是10%,指的是在正常处理时间内处理工作单元的CPU百分比。注意,不同资源的利用率水平可能存在非常大的差异,比如CPU和内存之间。
效率: 吞吐量除以所用资源。一个用更多资源产生相同吞吐量的系统效率更差。资源也可以用成本来衡量。
容量: 任一时刻能通过系统的工作单元(比如事务)的数量。也就是在特定的等待时间或吞吐量下,能够得到同步处理的工作单元数量。
扩展性: 当系统得到更多资源时,它的吞吐量或等待时间会发生变化。这种发生在吞吐量或等待时间上的变化就是系统的扩展性。
如果方案A可用的服务器数量翻倍,它额吞吐量也能翻倍,那它就有完美的线性扩展。在大多数情况下,完美的线性扩展很难达到。
退化: 如果在不增加资源的情况下,增加工作单元或网络系统的客户端,一般等待时间或吞吐量都会发生变化。这是系统在负载增加时出现的退化。
退化分正面退化(eg: 过重的负载导致系统某些部分超过阈值,迫使系统切换到高性能模式)和负面退化。
性能分析法
知道你在测量什么
知道怎么测量
知道性能目标是什么
知道什么时候停止优化
知道高性能成本
知道过早优化的危险