术语说明:
QPS = req/sec = 请求数/秒 即每秒钟的请求数量,通常是指每秒相应请求数(http);
并发连接数:是指系统同时处理的请求数量;
峰值的每秒请求数(QPS)= (总PV数 * 80%)/(6小时秒数 * 20%)
峰值QPS的计算规律主要是80%的访问量集中在20%的访问时间
吞吐量:单位时间内处理请求的数量
响应时间:从请求发出到收到响应花费的时间
PV(page view)综合浏览量,即页面点击数。通常日PV在千万级就是高并发的网站
UV(unique visitor)独立访客,一定时间内相同访客访问网站,只计算为1个独立访客
带宽:计算带宽大小,我们需要关注两个指标,峰值流量和平均大小
日网站的带宽 = PV/统计时间(秒) * 平均页面大小(KB) * 8
一般的QPS在 50:小型网站,一般服务器即可
100:假设数据库每次请求都在0.01秒内完成,单个页面只有一个sql,100QPS意味着1秒钟要完成100次请求,但是我们数据库不一定能完成100次查询。此时优化方案为:数据库缓存、数据库负载均衡
800:假设网站有百兆带宽,意味着实际出口的带宽为8M左右,如果每个页面只有10K,在这个QPS下,带宽已经吃完。此时的方案:CDN加速,负载均衡
1000: 假设使用nosql来缓存数据库查询(memcache或redis),每个页面对nosql的请求远大于直接对DB的请求
2000: 业务分离,做分布式存储
单台服务器每天PV计算:
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8
服务器计算:
服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )
峰值QPS和机器计算公式:
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)
问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3
著作权归原作者所有。