你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?
服务器每秒要处理多少个请求才能应对?如何计算呢?

答案参考:

PV是什么:

PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。

计算模型:

每台服务器每秒处理请求的数量=((80%总PV量)/(24小时60分60秒40%)) / 服务器数量 。
其中关键的参数是80%、40%。表示一天中有80%的请求发生在一天的40%的时间内。
24小时的40%是9.6小时,有80%的请求发生一天的9.6个小时当中(很适合互联网的应用,白天请求多,晚上请求少)。

简单计算的结果:

((80%500万)/(24小时60分60秒40%))/1 = 115.7个请求/秒
((80%100万)/(24小时60分60秒40%))/1 = 23.1个请求/秒

初步结论:

现在我们在做压力测试时,就有了标准,如果你的服务器一秒能处理115.7个请求,就可以承受500万PV/每天。
如果你的服务器一秒能处理23.1个请求,就可以承受100万PV/每天。

留足余量:

以上请求数量是均匀的分布在白天的9.6个小时中,但实际情况并不会这么均匀的分布,会有高峰有低谷。
为了应对高峰时段,应该留一些余地,最少也要x2倍,x3倍也不为过。

115.7个请求/秒 2倍=231.4个请求/秒
115.7个请求/秒
3倍=347.1个请求/秒
23.1个请求/秒 2倍=46.2个请求/秒
23.1个请求/秒
3倍=69.3个请求/秒

最终结论:

如果你的服务器一秒能处理231.4—347.1个请求/秒,就可以应对平均500万PV/每天。
如果你的服务器一秒能处理46.2—69.3个请求,就可以应对平均100万PV/每天。

说明:

这里说明每秒N个请求,就是QPS。因为我关心的是应用程序处理业务的能力。

备注

今天是每日一题陪伴大家的第96天期待你的进步

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引

http://lidao.blog.51cto.com/3388056/1914205