并发的影响因素:带宽、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

带宽 VS CDN (转载)的更多相关文章

  1. CDN加速静态文件访问

    CDN加速静态文件访问 全局调度 缓存技术 内容分发 带宽优化 CDN是Content Delivery Network的缩写,意思是内容分发网络.CDN的作用是把用户需要的内容分发到离用户近的地方, ...

  2. CDN 工作原理剖析

    CDN 工作原理剖析 CDN / Content Delivery Network / 内容分发网络 https://www.cloudflare.com/zh-cn/learning/cdn/wha ...

  3. 为七牛云存储开发的PHP PEAR 包:Services_Qiniu

    七牛云存储Qiniu Resource (Cloud) Storage:用于存储图片.apk等静态资源. 优点: 1.使用七牛带宽和CDN,速度快,不占用开发者服务器. 2.支持图片任意格式.任意分辨 ...

  4. domain规划

    user-generated content 用户产生内容 和 admin-generated content 管理员产生内容,要区分开来,便于不同的图片压缩.备份.带宽.CDN.审核方案. 图片(j ...

  5. 压测2.0:云压测 + APM = 端到端压测解决方案

    从压力测试说起 压力测试是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患.与功能测试不同,压测是以软件响应速度为测试目标的,尤其是针对在较短时间内大量并发用户的访 ...

  6. [WebKit]浏览器的加载与页面性能优化

    非常棒.非常系统的一份资料,值得阅读! 原文来自百度泛用户体验. 作者:nwind 本文将探讨浏览器渲染的loading过程,主要有2个目的: 了解浏览器在loading过程中的实现细节,具体都做了什 ...

  7. 虎牙直播张波:掘金Nginx日志

    大家好!我是来自虎牙直播技术保障部的张波.今天主要会从数据挖掘层面跟大家探讨一下 Nginx 的价值.OpenResty 在虎牙的应用场景主要 WAF 和流控等方面,我今天主要分享的是“ Nginx ...

  8. 315道python面试题(参考答案)

    第一部分 Python基础篇 1:为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python ...

  9. 提高网站打开速度的7大秘籍---依据Yslow工具的优化【转】

    很多站长使用虚拟主机来做网站,网页内容一旦很多,网站打开速度就会特别慢,如果说服务器.带宽.CDN这类硬指标我们没有经济实力去做,不妨通过网页代码优化的方式来提高速度,卢松松总结了一些可行性的方法. ...

随机推荐

  1. 使用python修改QQ密保(脚本)

    一.基于以下目的: 1.为了增加对Http协议理解能力,对QQ密保修改的请求进行了分析 2.为了锻炼python的编写能力 3.对web综合知识的理解 花了点时间写了这个脚本,下面介绍脚本的过程 二. ...

  2. 搭建Gitlab

    这个周末好奇想搭建一个私有的Gitlab,以前折腾过一次.现在记录如下. 一.安装Ubuntu 16.04 LTS server amd64 到Virtual Box 二.安装gitlab服务器 按照 ...

  3. 洛谷-拼数-NOIP1998提高组复赛

    题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4 ...

  4. VMMap(查看内存工具)

    来源: http://www.cnblogs.com/georgepei/archive/2012/03/07/2383445.html http://www.cnblogs.com/georgepe ...

  5. mybatis的decimal精度缺失

    在mybatis里面用decimal确实方便,但是经过测试发现decimal默认只有一位小数,所以也不能滥用,如果是double类型的话还是要使用double

  6. hdu1664 bfs+余数判重

    input n 不超过50个例子,n==0结束输入 Sample Input 7 15 16 101 0 output 最少个不同数字的n的倍数的x,若不同数字个数一样,输出最小的x Sample O ...

  7. sublime text 设置

    https://packagecontrol.io/installation#Simple 下载 php 自动补全 点击菜单栏的:Preferences: 选择:Setting-User项: 然后在大 ...

  8. php 编程效率(2)

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...

  9. python变量与数据类型

    变量 什么是变量 所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性. >>> print(id.__do ...

  10. 字符串:"2016-09-21T18:57:50+08:00[Asia/Chungking]" 转Date

    public static void main(String[] args) throws Exception { Date date1 = new Date(); SimpleDateFormat ...