并发的影响因素:带宽、web server(含php)、static server、数据库
带宽价格:
静态IP企业宽带 | 5M | 10M | 50M | 100M | 200M |
盛大云 华东双线 | 216/月 | 396 | 1836 | 3636 | 7236 |
盛大云 华北BGP | 318 | 618 | 3018 | 6018 | 12018 |
阿里云 BGP | 100/兆/月 | 5k | 1w | 2w | |
Amazon EC2 流量计费 | $3313 | ||||
idcexpert.cn | 1.5w | 10w | |||
linkcloud.cn 双线 也可流量计费 | 168 | 480 | 3300 | 6600 |
CDN(云分发)价格:
50TB/月 | 100TB/月 | |
阿里云 | 3.8w/月 | 6.9w/月 |
盛大云 | 9k/月 | 1.7w/月 |
网宿 | ||
蓝汛 |
普通web服务的并发和带宽的计算方式:
参考网宿科技●中国互联网发展报告(2012年第二季度) ,80%的流量集中在8点至23点,即15个小时,最大访问量约为平均值的1.7倍,如下图:
计算方式:
平均并发 = PV / (24小时 * 3600秒 );
热门并发 = PV * 80% / (15小时 * 3600秒 );
最大并发 = 平均并发 * 1.7;
html的head中所有css放在前面,然后是交互依赖的重要js,浏览器下载html的head部分,解析出css和js的链接,开始并行下载 css和js,同时继续下载html的body部分(js会阻塞之后的下载,但之前的不受影响)。由于html已经下载一部分了,一旦css和js下载完成,即开始渲染,显示出一部分。
TTI(time to interact)用户等待页面的时间 受到 html下载、CSS下载、JS下载的影响。
0.1秒:用户感觉他们动作的效果是立即发生的
1秒:网页必须在1秒内显示出来,用户才会觉得自己在自由地浏览,如果慢于这个时间,他们会觉得计算机对自己的浏览造成阻碍。
3秒:用户觉得白屏时间太长,可能会跑到竞争对手那里去。
10秒:用户的情绪将达到极限,内心将开始产生疑惑,超过10秒,用户往往会离开网站。
所以最好做到1秒之内显示,让用户感到流畅,进而吸引更多的用户。如果不能做到1秒,那一定要做到3秒以内。
按照热门并发购买带宽比较节约成本,可保证大部分用户在1秒内显示。但是当达到最高峰时,就需要排队了。
为了让最高峰时用户量仍然感觉流畅,而且用户量逐渐增长,带宽应留有余量,按照热门并发的1.5倍到2倍购买带宽较好。
上线后根据实际流量,决定是否需要增加带宽。
动态服务器:html一般为10K到几十K,实现1秒内返回html,需要的带宽成本小。
静态服务器:图片等文件较大,如果达到1秒内返回带宽成本高,可实现3秒内返回。流量不大时,带宽比CDN便宜。如果流量大时,带宽成本高,使用第三方CDN服务反而便宜。
比如1000w PV:
平均并发 = 1000w / (24小时 * 3600秒 )= 115个/s;
热门并发 = 1000w * 80% / (15小时 * 3600秒 ) = 148个/s;
最大并发 = 平均并发 * 1.7 = 195个/s;
动态服务器带宽:假设每个HTML页面20K(项目开发时自测),热门并发148,需要带宽 20K * 148 = 2.96 MB/s = 24 Mbps
静态服务器带宽:css(假设40K)、重要js(假设50K),需要带宽 90K * 148 = 13.3 MB/s = 106 Mbps
css和js只需要请求一次,以后都被缓存了。所以静态服务器的主要功能是图片。
图片的体积很大,假设每页2个图片各100K,由于图片是并发的,所以静态服务器的并发是148 * 2 = 296。
如保证1秒响应,需要带宽 100K * 2 * 148 = 29.6 MB/s = 236 Mbps,如果使用盛大云华东双线,则费用为¥9k/月。这时可以考虑使用CDN,价格一样,但距离用户更近,速度更快。
如保证3秒响应,需要带宽 80Mbps。
小米论坛:PV 2000w,热门并发300。页面20K,其余是图片等静态资源,每张图片约300K(因为未压缩),无图的帖子约70K,有图的帖子从500K到3M或更大。平均每个页面约2张图片。
动态服务器最小带宽:20K * 300 = 6M/s = 48 Mbps(实际动态静态合计购买了800M),
静态服务器最小带宽:300K * 2 * 300 = 180 M/s = 1440 Mbps,如果保证1秒响应,带宽费用为¥8.7w/月,不如用CDN(实际使用了CDN)。
糗事百科:PV预计1000w,热门并发150。图片较少,每页90至400k。其中页面10K,其余是图片等静态资源,每张图70K,平均每个页面4张图。
动态服务器带宽:10K * 150 = 1.5 M/s = 12 Mbps,
静态服务器带宽:70K * 4 * 150 = 42M/s = 336 Mbps
参考资料:http://cdc.tencent.com/?p=1685
原文链接:http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_bandwidth.html