互联网创业准备

254 篇文章 6 订阅

1、技术练手网站

练手学习技术时一般只购买1台vps,架构简单如下图。

 

这个简单的图里面隐含了太多的未知不可控:

用vps还是云主机?

请看:《互联网创业的准备——依赖服务》 http://www.cnblogs.com/sink_cup/archive/2012/09/14/vps_cloud_host.html

用apache还是nginx,并发多少?

用数据说话,请看:《互联网创业的准备——web server》  http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_server.html

mysql并发多少?

用数据说话,请看:《互联网创业的准备——数据库》  http://www.cnblogs.com/sink_cup/archive/2012/09/17/ssd_iops_sql_nosql.html

在技术练手时多折腾才能积累技术:IPv6、免费DNS(比如dnspod.cn)、免费试用CDN(比如七牛qiniutek.com)。

由于存在这么多隐患,作为练手网站可以,作为创业网站太危险。

 

2、创业

如果有个很小很好的创意,盈利不足以全职投入,或者有建站程序可以实现无需开发,一个人或几个人利用空闲时间就能完成,这种个人网站的架构很简单,只要注意数据备份即可,免得一夜回到过去……

知名个人网站参考:

  内容 盈利模式 盈利规模 程序
cnbeta.com it新闻 自动广告   自行开发
qiushibaike.com糗事百科 24小时内最最尴尬的糗事 自动广告 2011年6月 10w/月 自行开发
bookfor.us摆摆书架 分享闲书,免费借阅他人分享的书籍 未知   自行开发
jandan.net煎蛋 以译介方式传播网络新鲜资讯 自动广告   wordpress
HDChina.org高清 PT 影音器材人工广告   Discuz、Nexus Project
chinahdtv.org中国高清网 PT 自有淘宝店高清硬盘拷贝及器材销售   Nexus Project
chdtv.comchdbits.org BT、PT 同上   Discuz、Nexus Project

 

PV 1k级:

创业刚起步时,或者业余微创意网站,流量低,PV几百几K。

数据库备份:crontab mysqldump scp,请看《互联网创业的准备——数据备份》 http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_backup.html

文件备份:crontab scp

架构:

 

PV 1w:

PV 1w时,网站脱离了试验田,活下来了。如果是PT这种细分网站,可以通过销售器材盈利了。

这时候可以考虑使用云数据库服务,不用担心备份了。

数据库备份:云数据库自动备份

文件备份:crontab scp

架构:

 

PV 10w - 50w:

PV 10w时,需要考虑带宽了,请看:《互联网创业的准备——带宽与CDN》 http://www.cnblogs.com/sink_cup/archive/2012/09/14/web_bandwidth.html 。

这时可以考虑使用CDN了,10w/天 * 100K * 31天 = 31G,按流量结算CDN价格低,为¥20/月。根据流量情况,可以考虑开启防盗链。

根据sar的CPU、内存、iowait日志,购买更好的vps。

 

PV 100w:

静态服务器使用独立域名,而不是主站的二级域名,这样请求静态资源时不会带着cookie,节省用户上传带宽,提升速度。

PV 100w时,热门并发为15个/s。对数据库压力很小。web server的压力也小,但是用户量这么大了,要考虑单点故障,所以web server使用负载均衡,提高服务可用性。

数据库备份:云服务自动备份

静态文件备份:云服务自动备份

架构:

 

 

以PV来做架构,都是传统web服务,即使达到数千万PV,使用云服务也没问题。

因为传统web服务并发量低,对数据库的压力小。请看《互联网创业的准备——数据库》 http://www.cnblogs.com/sink_cup/archive/2012/09/17/ssd_iops_sql_nosql.html

比如Instagram使用Amazon云服务,达到820w UV,假设是5000w PV,并发量才 5000w / (15小时 * 3600)  = 900,并发很低。

参考《Instagram 架构分析笔记》:http://www.dbanotes.net/arch/instagram.html

 

如果要做电商,要做“秒杀”服务,就是另外一种架构了。

淘宝的架构已经演进多年了,可以用来参考:http://www.alidata.org/archives/1789

 

第一次做秒杀如何预估并发?

做预约,像小米1S在2012年8月23进行抢购,提前几天进行开放预约,预约人数大概为160w。

预约可以知道多少人很感兴趣,其中又只有一部分人会按时抢购。

如果不做预约,有论坛互动,根据论坛PV UV也可以预估。根据微博转发奖励也可获得一定的数据。

 

并发10w:

按小米1S在2012年9月6号的抢购来看,假设有50w人开着浏览器倒计时。

小米是分批抢购,20w台9分40秒抢购结束,如果是正常的抢购,流程如下:

第1步:倒计时结束,ajax取回购买链接,1秒内返回。

ajax是准时的,并发请求50w——web server并发50w,检查session 并发50w(如果使用memcache session或者mongo session,要测试nosql并发。如果使用无需存储的加密仿session,需要测试cpu能承受多少并发计算加密对比)。

无cookie时,http request header约250Byte,带cookie时更大,这里按300Byte计算,需要带宽:0.3K * 50w = 150 MB/s = 1200 Mbps

http response header约260Byte,服务器返回购买uri约100Byte,需要带宽:0.36Byte * 50w = 180 MB/s = 1440 Mbps

第2步:根据各人反应时间不同,2秒内全部点击抢购。

并发请求25w/s——web server并发25w,检查session并发25w,

mysql方案1:count < 20w  ——》 insert,返回id即排名。查询25w/s,写入20w/s。

mysql方案2:提前写入20w数据,user_id为空,update ——》 select查排名。写入20w/s,查询20w/s。

2种方案的数据库并发写入都要达到20w/s。折合硬盘iops为10w,如果像淘宝一样采用15K转速的SAS盘,需要15块做Raid10,成本为¥2.2k * 15 = ¥33K。如果使用Intel 710 SSD,需要5块做Raid10,成本为¥2.5 * 5 = ¥12.5K。

架构:

 

 

团队人多了,就需要考虑后勤,请看《互联网创业的准备——后勤》 http://www.cnblogs.com/sink_cup/archive/2012/09/14/pc_mac_linux.html

其他todo:沟通工具、bug系统、审核系统、代码书写规范

 

参考资料:

http://www.dbanotes.net/arch/instagram.html

http://www.oschina.net/news/17509/opensource-used-in-facebook

http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html





硬盘常识:

  机械硬盘HDD 固态硬盘SSD
最小单位 1个扇区为512B,或4K(2012年民用普及) 1个分页为4K、8K或更高(与密度有关
性能因素 转速(rpm):5400、7200、1w、1.5w 层数:SLC(单层快)、MLC(双层慢)、TLC(三层更慢,SSD暂未采用,U盘大量采用)
接口 SATA 3G、SATA 6G(2012年民用普及)、SAS 6G SATA 3G、SATA 6G、SAS 6G、PCI-E
尺寸 2.5英寸、3.5英寸 2.5英寸、PCI-E版型
常见品牌 西部数据、希捷 Intel、镁光(Crucial)、浦科特(PLEXTOR)

硬盘性能指标:

连续读写(常用单位为MB/s):文件在硬盘上存储位置是连续的,适用场景:大文件拷贝(比如视频音乐)。速度即使很高,对数据库性能也没有参考价值。

4K随机读写(常用单位为iops):在硬盘上随机位置读写数据,每次4KB,适用场景:操作系统运行、软件运行、数据库。(图片静态服务器、视频静态服务器是大文件,测试64K随机或更大)

 

常用硬盘性能测试软件:

Windows:AS SSD Benchmark、CrystalDiskMark、HD Tune Pro、iometer

Linux:iometer

Align I/Os:硬盘IO大小。测试设备时根据硬盘最小单位进行选择,机械硬盘上选512B或4K,SSD上选4K、8K等。测试分区时受分区sector size影响。由于Linux ext3的sector size为4096,所以在扇区为512B的机械硬盘上也无法选择Align I/Os on 512B进行测试,测试效果不佳。vps无法进行设备测试,如果是自购服务器,应使用设备测试。

Seq 即 Sequential 即连续读写。AS SSD会先以16MB的尺寸为单位,持续向受测分区写入生成1个达到1GB大小的文件,然后再以同样的单位尺寸读取这个,最后计算平均成绩而给出结果。

4K 即 Random 4k, Queue Depth=1 即 随机4K并发1个队列。AS SSD会以512KB的单位尺寸生成1GB大小的测试文件,然后在其地址范围(LBA)内进行随机4KB单位尺寸进行写入及读取测试,直到跑遍这个范围为止,最后同样计算平均成绩给出结果。

4K QD32 即 Random 4k, Queue Depth=32 即 随机4K并发32个队列。

4K-64Thrd 即 4K, 64 Thread 即 随机4K并发64个线程,和 4K QD64是一个意思。AS SSD会生成64个16MB大小的测试文件(共计1GB),然后同时以4KB的单位尺寸,同时在这64个文件中进行写入和读取测试,最后依然以平均成绩为结果。

通过AS SSD可以看出,iops与MB/s可以直接换算,比如4K读取是6227iops,即每秒钟可以读取6227个4K的文件,即 6227 * 4K / 1024 = 24.3 MB/s。

Intel的SSD性能数据采用iometer 4K QD32的测试结果:http://www.intel.cn/content/www/cn/zh/solid-state-drives/solid-state-drives-520-series.html#footnotes

价格与速度:

  型号 容量 2012价格 4K QD32随机读/写(iops) 4K QD64 连续读写(MB/s)
民用 机械7200rpm 3.5英寸 SATA 6G 希捷Barracuda 7200.14 3TB ¥1.1k 409/365 386/291 200/180
企业级 机械10000rpm 2.5英寸 SAS 6G  希捷Savvio 10K.5 300GB ¥1k 750/700   170/170
企业级 机械15000rpm 2.5英寸 SAS 6G 希捷Savvio 15K.3 300GB ¥2.2k      
企业级 固态SLC 2.5英寸 SATA 3G Intel X25-E 32G ¥2.5k 3.5w/3.3k   250/170
企业级 固态MLC PCI-E Intel 910 400G ¥14w 9w/3.8w   1000/750
企业级 固态MLC PCI-E Intel 710 100G ¥2.5k 3.8w/2.3k   270/170
民用 固态MLC 2.5英寸 SATA 6G Intel 520 120G ¥840 2.5w/8w   550/500
民用 固态MLC 2.5英寸 SATA 6G 镁光 M4 128G ¥800 7.8w/4.2w 7w/4w 500/175

 

为什么民用SSD的iops很高价格却很低,而企业级SSD的iops有的很低而价格却很高?因为企业级SSD的耐用性高,比如Intel 710 100G寿命为4K写入500TB,即5000次全盘写入。

Intel SSD寿命指标:smart中的“E8:Avai lable Reserved Space”:可用的预留闪存数量、“E9:Media Wearout Indicator”:闪存磨耗指数。其他厂商的SSD类似,比如镁光的wear leaving count。

SSD新盘的剩余磨损为100,当低于10时,应更换,报废。

 

todo:数据库的选择

关系型数据库用Mysql还是PostgreSQL,或者全用NoSQL?mongo还是hbase?

Mysql 和 PostgreSQL都可以。mysql用的人多,但是oracle收购sun以后,把mysql限制的更加封闭,正在衰落,和可能和OpenOffice一样被oracle整死,衍生出LibreOffice。但不用很担心,即使mysql被oracle整死,也会衍生出开源版本,使用方式一样。

关系型数据库和NoSQL搭配使用较好,关系型适合底层业务,NoSQL适合上层业务。关注淘宝hbase的使用。

Mysql性能与硬盘iops的关系:

mysql可以把读取结果放在内存中,即query cache,所以db server安装大内存即可实现只读内存、不读硬盘。

当预计数据量会增长到超过内存大小时,进行分表(把一个表中的数据拆分),放到多个大内存服务器上,保证每个服务器上的数据都小于内存大小,即可实现全部缓存。

2012年内存价格:UDIMM no ECC DDR3 1600民用内存 ¥270/8GB,RDIMM ECC DDR3 1600服务器内存 ¥440/8G。但一台服务器能安装的内存有限,2012年典型的Dell服务器有24个插槽,主板芯片支持768G内存,2012年DDR3内存生产工艺最高是单条8G(DDR4已实现单条16G,但主板尚未支持DDR4),所以一台服务器最大内存192G(¥440 * 24条 = 1w)。

数据库写入时必须写硬盘(否则就不叫持久化存储了……),¥2.5k的Intel 710企业级SSD的写入iops为2.3k,而万转硬盘的iops为700,如果要达到SSD的性能,需要多块万转硬盘组RAID。如果使用iops为3w的SSD,性能比机械硬盘提升了30倍。

如果数据量不大,远低于192G,就不需要做分表了吗?

仍然要分表,原因有2个:

1、大内存会提升mysql读取性能,但并发读取能力也是有上限的,这时受CPU性能限制,2012年典型的服务器是双路,即2个8核CPU(mysql内存并发待测试)。

2、内存很大,对并发写入能力没有作用,写入能力完全依赖于硬盘的iops。一台服务器的写入性能很有限,请看下面的测试。

为什么不进行分库(把不同的整个表放到不同的库中,也就是不同的机器)?分库简单,但是一个表只增不减难于维护(比如评论表),大小总会超过内存,又要改成分表;或者随着用户量增大,这个表的写入量会逐渐增大,单台机器必然无法承受,参考淘宝等网站的架构演进历史就会发现这个问题。

为什么不用主从设计?因为每个“从”上面都有所有数据,数据量太大,同步压力大,要做设计从每个“从”上面读取不同的数据,以免内存query cache不够用,这增加了复杂度;即使“主”只进行写,写入性能还有限,无法承受大并发。

所以最好在项目初期就使用分表设计,而不是分库或主从设计,把分表设计做成一个成熟的方案(各个大型互联网公司都已经实现),各个项目通用,免得后期数据量大了拆分表,需要导数据,需要暂停线上服务。

 

mysql测试环境:

服务器:vr.org VR512、阿里云512、盛大云512

mysql版本:5.5.27

连接方式:unix domain socket

表:phpbb 3.0.7的users表,含有76个字段,28个char,43个int,1个主键,1个自增,1个unique,3个index。

phpbb_users

mysql配置:

并发默认151,超过时会出现“1040 Too many connections”,修改为99999:set global max_connections=99999;

超过1024时,碰到了Linux “open files”限制,出现错误“2001 Can't create UNIX socket (24)”。修改为99999:ulimit -n 99999

 

测试程序:

write 和 update 直接写入硬盘,这时要注意iowait。

key 和 read 每次先写入99条数据(这时影响观测iowait),然后并发查询,然后删除数据,重新生成。比如iterations=10,就会生成10次。如果并发1000,那很快就会把所有数据query cache起来,速度变快。这种情况和生产环境类似,保证内存大于数据库,数据只读一次硬盘,以后一直在内存中,所以不观测iowait。

./mysqlslap --auto-generate-sql --number-char-cols=28 --number-int-cols=43 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --socket=/tmp/mysql.sock --concurrency=800 --number-of-queries=800 --user=root --password=1 --iterations=10

如果不考虑读一次硬盘,内存中cache了所有数据,是不是read并发就会很大?经测试,稍微大了一点,这时iowait显然为0,但CPU 100%,如果CPU更强,并发预计会进一步提高。

先写入1w条,只查某一条,确保query cache,mysqlslap key时并发为1300,全内存时为1700。

./mysqlslap --query='select * from t1 limit 1;' --socket=/tmp/mysql.sock --concurrency=800 --number-of-queries=800 --user=root --password=1 --iterations=10

 

mysql性能判断规则:

Average number of seconds to run all queries < 1秒,比如800个并发,执行800个sql,如果在1秒内不能完成,就会影响下一秒的800并发。

 

iops测试环境:

分区测试 还是 设备测试:分区测试。

  4K QD32随机读/写(iops) 硬盘到内存mysql key(按主键读) 硬盘到内存mysql read
硬盘mysql write
硬盘mysql update 硬盘mysql mixed
vr.org VR512 100-300/700-2900波动很大 并发1300,0.98s 并发180,0.91s 并发800,0.98s,iowait < 21 并发800,0.92s,iowait < 15 并发900,0.97s,iowait < 16
阿里云主机            
阿里云数据库            
盛大云主机 512 Windows 300-420/350-400波动不大    

 

   
盛大云主机 512 Linux 70-90/550波动不大 并发1300,0.97s
并发300,0.99s 并发1300,0.97s,iowait < 21 并发1100,0.96s,iowait < 18  并发1200,0.91s,iowait < 25
盛大云数据库            

mysql测试图:

  

传统web服务的mysql压力:

读取量大,写入量小,所以加大内存即可。

案例:

1、小米论坛(bbs.xiaomi.cn),在2012年9月10日发帖和回帖合计89w,PV约2000w。

每次发帖回帖需要发表(同步)、增加积分(异步)等操作,按每次发帖需要3次同步写数据库算,89w * 3次 / (15h * 3600s)* 高峰时2倍 = 99次写/s。

页面数据在业务层、页面层有缓存,实际读取数据库按每次浏览需要1次读数据库算,2000w / (15h * 3600s)* 高峰时2倍 = 740次读/s。

按一台微型vps db并发900计算,两台vps db即可承受,一台自购服务器Raid即可承受。

2、远景论坛(bbs.pcbeta.com),在2012年8月Windows 8发布后,每天发帖回帖1.9w。

数据库写入并发:1.9w * 3次 / (15h * 3600s)* 高峰时2倍 = 2次写/s。

3、instagram使用Amazon云服务,达到820w UV,那也是普通web服务,并发很低,假设是5000w PV,并发量才 5000w / (15小时 * 3600)  = 900。

 

“秒杀”服务的mysql压力:

像小米手机抢购、淘宝光棍节促销,这种“秒杀”服务流量集中在瞬间,而不是全天,并发写入量大、并发读取量更大。

案例:

2012年8月23日10点,小米1S开放购买20w台,事先有个预定量统计,约160w人,到了秒杀时间并发量读取为每秒十万级(登录、刷新),登录页面正常显示,但提交后返回500错误,数据库读取压力达到极限,登录很困难……

假设有50w人10点准时抢购,有30w人卡在登录步骤,一直刷新提交,按读取并发10w计算,微型vps的每台mysql为1300,需要76台微型vps……显然不合理,成本太高。购买云数据库也无法保证10w并发(云数据库待测试)。

按机械硬盘Raid的自购服务器mysql key为3000计算(参考值,待有条件时测试),需要33台服务器……

假如使用Intel 710 SSD,读取iops为3.8w,预计mysql key为5w,只需要2块SSD即可。

29分36秒抢购结束,数据库写入为 20w / 1776秒 = 112次/s,由于卡在了登录,所以写入量不大。

 

2012年9月6日10点,小米1S开放购买5w台电信版+15w台标准版,预定量未公布。参考上次160w的预定量,假设这次一样人数。

由于数据库读写能力有限,采用了分批选取一部分用户可以看见“验证预约信息”的链接,别的用户都看见“您没有购买小米手机1s的特权”,这一批处理完了,再选取下一批。

这句话语义错误,因为这些用户都是已经预约的,导致用户投诉。

9分40秒抢购结束。

20w订单,数据库写入为 20w / 580秒 = 344次/s

 

第一次抢购卡在登录,第二次抢购分批影响用户体验。

如果不分批,进行正常抢购,160w中有50w人在10点等待着,ajax检查登录返回抢购链接(如果使用memcache session或者mongo session,要考虑nosql并发。如果使用无需存储的加密仿session,需要考虑cpu能承受多少并发计算加密对比),

花费5秒输入预约信息(复制粘贴4秒,如果手打8秒),

然后提交数据库进行验证,数据库要承受10w-20w/s的读取压力,

都是预约过的,50w都人验证通过,点击购买下订单,数据库要承受10w-20w/s的写入压力。

 

所以,如果创业公司业务要做秒杀,需要自购服务器(用SSD Raid,加大内存),而不是采用云服务。

 

如果购买品牌服务器,可以自行购买SSD和内存,因为服务器厂商提供的配件要贵2倍以上。

比如dell 8核 1U、2U服务器价格约¥1.4w,但选配的硬盘很贵,参考文章末尾的截图。

所以无论是PC还是server,DIY一直是高性能低价格的终极解决方案。

如果ODM自行设计服务器,参考Facebook开放服务器计划:http://news.cnblogs.com/n/133536/

Dell服务器硬件价格图:

硬盘iops测试图:

参考资料:

http://tech.sina.com.cn/h/2012-08-02/09337458765_2.shtml

http://forum.crucial.com/t5/Solid-State-Drives-SSD/Page-size-and-erase-block-size-for-M4-64GB-128GB-256GB-models/m-p/64461#M19888

http://article.pchome.net/content-1515362-7.html

http://bbs.xiaomi.cn/forum.php?mod=viewthread&tid=4615631

http://news.cnblogs.com/n/133536/

http://www.liusuping.com/it-tech/server-rdimm-udimm.html

http://ssd.zol.com.cn/252/2529054.html

http://ssd.zol.com.cn/303/3031977.html

http://www.ssdfreaks.com/content/599/how-to-convert-mbps-to-iops-or-calculate-iops-from-mbs

http://www.xfastest.com/thread-65671-1-1.html

http://bbs.pceva.com.cn/thread-36832-1-1.html

http://tech.watchstor.com/storage-module-136610.htm

http://isjin.blog.51cto.com/612537/528622

http://www.datacentersky.com/undeer-linux-use-iometer.html

http://www.datacentersky.com/taught-you-how-to-use-iometer-test-tool-to-test-storage.html

http://cnbeta.com/articles/202141.htm





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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值