1
qq286735628 2012-09-26 01:40:37 +08:00
我觉得你是被自己的60M带宽给困住了。
你是想流量超过你们瓶颈的时候,才切换使用CDN的流量。 CDN并不仅仅是分担流量,还有一个就近分发的作用。 建议 1、不要纠结你那60M,虽然花了很多钱,启用CDN,用户能有一个更低的延迟。 2、至于upyun不能自动抓的问题,那你就主动push呗,写个监控脚本主动push到upyun的FTP上不是什么难事 |
2
daweiba 2012-09-26 03:04:45 +08:00
根据5秒钟网卡流量修改nginx配置?
就是说流量高的时候每5秒nginx reload 一次配置文件? 有冇搞错? |
3
daweiba 2012-09-26 03:15:20 +08:00
你都说了 upyun不是cdn
怎么还cdn cdn的啊 看的头疼 用python修改url就行了呗 每5秒钟检测网卡流量 超标则 域名变量改为upyun 否则用本机 |
4
feiandxs 2012-09-26 04:15:39 +08:00
1 10分钟1w pv不算啥,甭怕。当然,我这随口一说,没考虑动态处理部分。只说nginx。
2 nginx干不了检测网卡流量的事,用一个shell脚本cron几秒钟跑一次就可以了。 但是,这不是蛋疼么。。。。 楼主现在的问题不就是怕浪费了那带宽么。要不然你这样,利用dns把图片流量切分开来,一部分直接走upyun,一部分走你本机,反代到upyun出来的地址,也可以利用dns做到大致上控制流量比例,让你这个60M带宽不浪费。 这样也蛋疼,但没那个测网卡流量做切换疼的厉害。。。 楼主现在的问题,其实是一个典型的架构选型的时候考虑不周全的问题,现在在为这个考虑不周全买单了,如果你当时入手一个CDN,哪怕只是短时间过渡,也可以根据具体带宽占用情况,收集数据,最后决定怎么做。。。比现在这样好。 当然,不是吐槽楼主,60M带宽也不便宜,对小网站来说也很辛苦,一分钱也是钱啊。上面我那个反代又拍云的方法并不是玩笑,你可以认真的考虑下。在实际环境中,我就曾经帮人做过这样的事,有一定的效果的。当然如果并没有资金紧张到这种程度,那么还是直接使用又拍云吧。你多出来的带宽不用急,安心考虑更应该考虑的问题,很快业务会能够跑到用上这60M的。有点信心嘛。 我最近也有一个比较大的网站,在阿里云有50M左右带宽使用,价格太贵,也很快会转到又拍云去了。 还有,就算刷网卡流量改配置,也别上python,这时候就该shell这种大杀器上马。 同时赶着楼主的帖子也发个广告。 http://www.fullpanel.net XD |
5
BOYPT 2012-09-26 09:48:19 +08:00
为了60M带宽去写一套系统,佩服佩服
|
6
BOYPT 2012-09-26 09:55:02 +08:00
CDN = Content Distribute Network,主动上传然后给你调用怎么就不算CDN了。
主流CDN基本都分主动推送与被动抓取,前者适合更大规模的流量分发,被动抓取的依然会给源站带来压力。 |
7
c0878 2012-09-26 10:05:29 +08:00
带宽难道是年付的??可以减下来嘛 就像上面说的CDN不仅仅是带宽分流 还有个就近分发
42区的VPS应该是双线吧 双线的带宽是比CDN贵的 |
8
mingxing 2012-09-26 10:17:49 +08:00
@sdjl 目前又拍云的静态CDN正在最后的测试中,预计将会于国庆之后正式上线,到时候应该可以满足您的CDN的需求。欢迎到时候来测试使用~
|
9
Livid MOD 你需要的是一个能够按照流量计费的面向小网站的 CDN,在美国有很多选择,及 Amazon 的 CloudFront,而目前国内确实还没有这样的产品。
|
10
sdjl OP @qq286735628 嗯 是的, 如果一直用cdn的话速度确实是比较快的, 所以我想把静态文件一直开启。 你说的不要纠结现有带宽这个说法不太赞同, 我初步算了一笔账, 如果按照现在的流量来算, 如果全部文件常开upyun, 那么一年的upyun费用在2w以上, 如果以后流量增加的话就更贵了。
@daweiba 是对nginx编程, 不是reload @BOYPT 写这个程序估计一周, 第一年可以节约2w块以上, 我觉得有必要写~~~ @c0878 年付,7线,机房60M是一年9w, 是比upyun贵 @mingxing 好的, 关注 |
12
sdjl OP 补充一下,打开网站的速度主要是静态js css img图片决定的, 而这个网站打开后90%的流量都是后期load图片时产生的, 而图片会在页面load完成后提前加载, 因此只要能做好静态文件的cdn, 就能提高页面的加载速度, 后面的图片流量走我们的服务器应该不会造成体验上的延迟。
|
13
somin 2012-09-26 15:07:24 +08:00 1
网站速度是由http请求页面而决定的,http请求又是有多种因素影响,如css js html image 等。
cdn主要加速静态页面。比如css js image。注意:cdn最好不要直接对主站加速。这样以免影响搜索爬虫对网站的抓取,类似你的站90%流量都被image拿走,那太不值得了。CDN免费基本上都是限量的。又不花钱的我倒没找到没发现~~你可以尝试一下这样,如果流量大的话,静态页面用一个台服务器。image可以用多台服务器进行加速。 |
14
littlesuper 2012-09-27 12:11:01 +08:00
去二线城市,例如湖南那些,1年100M独享才2W带宽费~~我用了一年,稳定性还是不错~~只是一些分享解析之类的就别寄望那些廉价机房来做了,很坑爹。。。
|
15
sdjl OP @littlesuper 百兆独享一年2w, 有这么便宜?
|
16
rhwood 2012-09-27 16:20:51 +08:00
lz的问题很蛋疼
正统思路是varnish(缓存+判断后端)+Haproxy(反向代理+宕机检测) 什么检测带宽后决定是否启用cdn?一般做法是用宕机检测,一台不行就备用一台 对于瞬间爆发流量,varnish是最佳选择,原因如下: 1 第一次访问过后的短时间请求全部通过varnish缓存响应,不对后端产生压力 2 支持saint mode,可以检测后端返回502时,在多少时间内不访问后端,而让varnish直接返回过期缓存,这个比你检测带宽什么的可靠多了 3 支持针对http host/url 自定义多个后端 4 修改hosts这种方式定义后端,不如varnish+haproxy简洁利落 不打广告。 |
17
enj0y 2012-09-27 17:08:43 +08:00
建议楼主考虑阿里云oss.
|
18
zxy 2012-09-27 17:40:03 +08:00
我在思考学校200M带宽 252核心512G内存的服务器组放一个校园网站有多浪费
|
19
Showfom 2012-09-27 19:48:27 +08:00
楼主我们可以提供 ChinaCache 的 CDN,联系我购买有优惠哦 按带宽算的= = [email protected]
|
20
Showfom 2012-09-27 19:50:02 +08:00
萝卜网的解决方案是使用一台国外的100TB流量的服务器(差不多平均300多M带宽的样子),装上TCP加速优化软件,然后使用 ChinaCache 的 CDN,按照带宽来买,就比较划算了。
如果不用上 CDN 也足够支撑大的访问量,大家可以测试一下我们加速过的国外服务器的下载速度: http://x.com.sb/files/2011/1222/all.zip |
21
lamengao 2012-09-27 20:42:27 +08:00
CDN 可以试试 http://www.webluker.com 按流量收费。
然后配合 dnspod 的 api 使用,这样的搭配方案不用更改文件的url。 |
23
lfeng 2012-09-27 23:34:28 +08:00
又拍云的CDN空间已经在内部测试了,预计国庆后上线
|
24
sdjl OP |
28
fatlei 2012-10-01 05:38:46 +08:00
告诉楼主一个比较蛋疼的办法,自己在电脑旁边看,看流量差不多了,手动切换到又拍云.
|
29
bombless 2012-10-01 09:16:37 +08:00
不是有cloudflare么。根据朋友那个5万PV的网站的小站的反响,它的免费服务就已经不错了。
|
30
ipconfiger 2012-10-01 11:49:54 +08:00
话说.....找个按流量算的CDN不就ok了。
或者干脆不想花钱的话,可以试试我这个小玩意儿 https://github.com/ipconfiger/pyImageServer |
31
conis 2012-10-01 19:59:26 +08:00
1.先要搞清楚你网站流量是被谁占用了,你的网站大致可以分为三部分,网页/静态文件/UGC。
2.通常来说,80%的流量是被20%的内容耗费的。 我觉得还是重点来处理静态文件吧,因为静态文件一般改动不大,所占流量也比较多,资源类网站除外。 1.将静态文件分发到云上,当然有不花钱的方案是分发到各免费云上,反正不花钱,申请多几个。 2.网页生成静态页面,一般来说,高峰是可以预期的。如果不可以预期,可以用程序检测。当发生高访问量的时候,修改js和css的指向 3.如果访问量比较大,可以根据不同的ip段或者时间分发不同的静态文件,也可以由客户端JS自动选择。例如:你有10个静态服务器,你就把重点网页生成10份html,然后读取到内存,根据不同条件分发不同的html 4.对于UGC,可以把访问量高的也做到静态服务器。 最后,你还也借助DNSPod的API,将不同地区的请求解析到不同的服务器。我的原则,是花最少钱办最多事,不花钱最好,当然,这会麻烦一些。 优点:你可以控制什么时候用静态服务器,当访问量下去后,重新生成静态页。比如说你用到阿里云,按需付费,这样节省成本。如果你不是特别在意速度的话,完全可以用免费云,这样可以节省很多成本。 缺点:技术有一定要求,如果你静态文件特别多的话,重新生成会占一定资源,但我觉得常访问的内容没这么多吧。 |
32
conis 2012-10-01 20:05:31 +08:00
唉,看了一下楼主提供的网站,你这个网站优化还真不行啊,先把优化做好,再来说什么CDN吧。提你几个建议:
1.JS和CSS没有去注释和压缩 2.JS太多,完全不合理,至不超过4个,CSS合并到1个 3.图片我没太看,也应该有合并的空间 先把这几个做了,你的带宽占用和速度都会有改善 |
33
bigdude 2012-10-18 20:47:10 +08:00
我咋觉着图床带宽的钱可以省出来的,有免费的可外链的超大流量图床的阿
|
35
hornet 2012-11-10 00:58:10 +08:00
网站设计的时候定义几个域名变量,比如UGC_M_SERVER, IMG_SERVER, JS_SERVER, CSS_SERVER... 分别对应不同的资源类型
域名设置里面比如S1.abc.com, S2.abc.com S1可能是CDN,S2则是你自己的机器。 可以根据来访IP,来动态映射域名变量到S1或S2 |