编程之路
- 编程规范
- 函数式编程
- 性能与优化
- 单元测试
概念定义
- QPS(TPS):每秒钟 request/事务 数量,在互联网领域,指每秒响应请求数(指http请求);
- 吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定);
- 响应时间:系统对一个请求做出响应的平均时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间(我认为这里应该仅包含处理时间,网络传输时间忽略)。
QPS = 并发数 / 平均响应时间
常用性能指标
【吞吐量】 固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。
【平均吞吐量】一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化。
【峰值吞吐量】一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一。
【最低吞吐量】一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象。
【70%的吞吐量集中区间】通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。
【响应时间】一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。
【平均响应时间】 一段时间内响应时间的平均值。无法体现响应时间的波动情况。
【中间响应时间】一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值。
【90%响应时间】一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一。
【最小响应时间】响应时间的最小值。反映服务最快处理能力。
【最大响应时间】响应时间的最大值。反映服务器最慢处理能力。
【CPU占用率】1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。