编程之路—性能与优化

Posted by YueLng Chen on 2018-01-02

编程之路

  • 编程规范
  • 函数式编程
  • 性能与优化
  • 单元测试

概念定义

  • QPS(TPS):每秒钟 request/事务 数量,在互联网领域,指每秒响应请求数(指http请求);
  • 吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定);
  • 响应时间:系统对一个请求做出响应的平均时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间(我认为这里应该仅包含处理时间,网络传输时间忽略)。

QPS = 并发数 / 平均响应时间

常用性能指标

【吞吐量】 固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。

【平均吞吐量】一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化。

【峰值吞吐量】一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一。

【最低吞吐量】一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象。

【70%的吞吐量集中区间】通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。

【响应时间】一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。

【平均响应时间】 一段时间内响应时间的平均值。无法体现响应时间的波动情况。

【中间响应时间】一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值。

【90%响应时间】一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一。

【最小响应时间】响应时间的最小值。反映服务最快处理能力。

【最大响应时间】响应时间的最大值。反映服务器最慢处理能力。

【CPU占用率】1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。