一、含义
- 当我们对服务器进行优化的时候,首先需要明白优化的依据是什么,需要针对什么进行优化而不是盲目的去优化,那本人觉得QPS这个值值得参考(前提是内存、带宽、I/O满足条件),通过这个值我们可以针对性的去优化。
二、获取QPS
- 每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
原理: 每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式: ( 总PV数 * 80% ) / ( 6小时秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器: 峰值时间每秒QPS / 单台机器的QPS = 需要的机器
每天100w PV 的在单台机器上,这台机器最高QPS是50,则需要4台否则就会卡顿
( 1000000 * 0.8 ) / (21600 * 0.2 ) = 185 (QPS)
三、QPS参考
- QPS 达到 50
可以称之为小型网站,一般的服务器就可以应付。(不需要进行优化)
- QPS 达到 100
假设关系型数据库的每次请求在 0.01秒 完成;
假设单页面只有一个SQL查询,那么 100QPS 意外着 1秒钟 完成 100次请求,但是此时我们并不能保证数据库查询能完成 100次;
方案:数据库缓存层、数据库的负载均衡。
- QPS 达到 800
假设我们使用百兆带宽,意味着网站出口的实际带宽是 8M 左右; 假设每个页面只有 10K,在这个并发条件下,百兆带宽已经吃完; 方案:CDN加速、服务器负载均衡。
- QPS 达到 1000
方案:静态HTML缓存。
- QPS 达到 2000
方案:做业务分离,分布式存储。
如:现在有 库存系统 和 订单系统,可以把这两个系统分到不同的集群。