帮你算算:
日均10万,集中在8小时,平均一小时1.25万.
平均每秒处理3个请求.
假如负载最高时是平均值的4倍,也就是每秒处理12个请求.
如果你的请求处理需要1秒种,那也就是一台12CPU的机器1秒钟能处理完.
因为12个请求是瞬时的,那其中4个请求在下一秒完成对用户影响不大的话,那8CPU的机器也行.
如果你能把程序优化到处理时间为半秒,那8CPU的完全可胜任.
当我们在网站刚刚架构好,需要正式上线的时候,我们需要关注服务器性能是否满足网站的需求、网站大概需要多大的带宽,这两个方面可以说是最重要的。抛开服 务器性能,现在各种配置的服务器满天飞,而且相对于带宽的价格来说,服务器可以说还算比较小的开支了。因此这时候就需要对网站的带宽来进行大概的估算了;在我们的网站已经开始运行,由于各种因素,网站的访问量急速上涨,当前的带宽已经无法满足我们网站的正常运行需求,这个时候,如何选择合理的带宽,也将成为重中之重。
在如何合理计算自己所需要的带宽大小的开始,我们需要了解一些基本的概念。
我们通常说的网站流量(traffic)就是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。
网站访问量的衡量标准一个是IP,另一个是PV,常以日为标准,即日独立IP和PV来计算.
访问数(IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址只被计算一次。
综合浏览量(PV):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
二者的联系与区别:PV高不一定代表来访者多;PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量。比如一个网站就你一个人进来,通过不断的刷新页面,也可以制造出非常高的PV。
IP是一个反映网络虚拟地址对象的概念,独立用户是一个反映实际使用者的概念,每个独立用户相对于每个IP,更加准确地对应一个实际的浏览者。使用独立用户作为统计量,可以更加准确的了解单位时间内实际上有多少个访问者来到了相应的页面。
一个独立IP可以产生多个PV,所以PV个数>=IP个数。
PV(Page View)值:是指一定时间范围内所有浏览该网站的访问者请求的页面数量之合。(例如:该网站一天有500个访问者,每个访问者浏览的页面数量平均为8页,则每天的PV是500×8=4000)
Hits值:是指对每个页面元素的请求数量。(一个页面中任何一个图片或者flash文件都算是一个页面元素)
日浏览字节数:即日流量,是指一天内,访问者请求的所有页面元素的字节数之和。
计算带宽大小需要关注两个指标:峰值流量和页面的平均大小。举个例子说明下吧:
假设网站的峰值流量是平均流量的5倍(当然,这只是一个假设,具体实施我们需要视自己情况而定);
假设每次访问的平均页面大小是200K字节;
假设网站的预期目标是每天50W PV的访问量。
我们的计算开始:50W PV如果在一天内平均分布,折合到每秒大概是50W/(24*60*60)=6次访问,按照我们之前的假设平均页面大小是200K字节计算,这6次访问总 共就是1200K字节(需要注意的是这个地方是字节),字节的单位是Byte,而带宽的单位是bit,1Byte=8bit,因此1200K Byte大概就是9600K bit,也就是9Mbps(1M=1024K)。在实际的网站运行过程中,我们的网站必须要在峰值流量时保持正常的访问,这里就会用到我们之前的假设,峰 值流量是平均流量的5倍,按照这个计算,实际需要的带宽大约在9Mbps*5=45Mbps左右。
具体的计算公式是:网站独享带宽=一天总的PV值÷ 一天总时间(换算到S)*平均页面大小(单位KB)* 8
这个计算结果的前提是我们之前的三条假设,而在实际运行中,由于缓存、网站提供下载、图片较多、网站白天夜里访问量不同等原因,这个结果可能并不是很理想。所以这个算法只能算是一个大概的算法了。