逗哥带你-设计500万pv网站架构(初级)

2017年5月23日16:52:54 发表评论 951 views
摘要

你想架设一套能够承受日pv500万的架构吗?500万PV是什么概念? 服务器每秒要处理的请求时多少(并发)如何计算? 等等问题,涌上心头。

广告也精彩

你想架设一套能够承受日pv500万的架构吗?500万PV是什么概念? 服务器每秒要处理的请求时多少(并发)如何计算? 等等问题,涌上心头。

首先,你要了解一些基础知识:什么是PV,计算模型,算法??

1、pv指的就是,页面的刷新次数,每打开一个页面,就算1次 pv;
2、计算模式:根据目前互联网行业来看,模型大概一致,白天时间访问量较高,晚上较少。

每台服务器每秒处理请求的数量=((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/每天。

以上结果都是处于“理想化”,真实环境要给服务器留有资源余地,比如说你服务器刚好并发115.7,那你跑500万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。因为我关心的是应用程序处理业务的能力。

另外关于硬件压力测试(磁盘I/O,CPU 负载),也需要测试 ;

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: