大型系统容量规划中,QPS、并发数、吞吐、延迟、资源利用率与排队效应之间的基本关系是什么
进阶版来源:alibaba资深工程师容量规划
草稿
答案解析
这几个指标在容量规划里是连在一起看的,不能单独看某一个。
QPS 一般指单位时间进入系统的请求数,更多是入口流量; 吞吐量 一般指单位时间系统实际处理完成的请求数。系统没到瓶颈时,QPS 和吞吐量基本接近;一旦超过系统处理能力,入口 QPS 继续增加,但吞吐量不会再线性增长,反而可能因为排队、超时、重试导致整体变差。
并发数、QPS 和延迟之间有一个很核心的关系:
也就是 Little 定律。比如一个接口平均响应时间是 100ms,也就是 0.1 秒,如果 QPS 是 1000,那么系统中同时在处理或等待的请求大概是 100 个。反过来,如果延迟从 100ms 涨到 1 秒,在同样 QPS 下,并发数会变成 1000,对线程池、连接池、内存都会造成很大压力。
资源利用率决定了系统是否接近瓶颈。 比如 CPU、磁盘 IO、网络带宽、数据库连接数、线程池、Redis 连接池等,任何一个资源达到瓶颈,都会限制整体吞吐。容量规划时不能只看 CPU 平均利用率,还要看峰值、单核热点、IO wait、连
登录后查看完整内容
