免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yuhongchun
打印 上一主题 下一主题

[交流]缓存服务器在CDN系统中的应用 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2012-04-19 22:47 |只看该作者
回复 42# platinum
白金前辈所言极是

   

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
52 [报告]
发表于 2012-04-19 22:54 |只看该作者
本帖最后由 iakuf 于 2012-04-20 10:40 编辑

目前主流 CDN 公司来讲,都是基于 Squid 来做的开二开发,和开发模型.从功能上来讲 Squid 原生是为 Cache 设计,做了这么多年的开发,是最强大的.

比如,他能给通过 collapsed_forwarding 的参数合并多个回源变成一个,能通过quick_abort_min,range_offset_limit 之类的参数来控制片段的下载.可以通过 url_rewrite ,storeurl_rewrite 来控制不同的地方进行重写.能通过 COSS 提高小文件的读写. Nginx 基本是不会照顾你源站设置的是什么 HTTP 的 Cache 的头,一并强行 Cache.要知道想给 Cache 玩出花,会让整个 Cache 的应用在整个网站的前端应用中无处不在.

目前主流使用的 Squid 2.7 会是最多,基本上 90% 以上的商业 CDN 公司,象国内的 CDN 基本都在用象蓝汛,网宿,帝联. 3.0 由于使用了 C++ 重写后,性能上和 Squid 2.6 和 2.7 还是有些距离的.使用的人并不是很多,性能什么的还有必要在等等看.

很多人可能会讲, Squid 因为是单核,所以性能不好,要知道整个 Cache 的应用中,都是文件类型的,大多的问题都在 IO 上,象我普通的 Cache 视频跑个 1G 是很容易的对 Squid 完全无多少压力.这时 CPU 占用才 60% .象小文件,由于普通硬盘每秒的有效 IOPS 不会高过  50 次. 所以这时也是性能卡在硬盘上面.基本跑个 300M 硬盘都不行了.所以这时不要太在意单核的 CPU 使用. aufs 本身是线程读写所以可以用到多核.象小文件使用 COSS 来读写是非常有效的对于小文件的优化.因为可以一读写取一个块出来,只要块命中比较高就可以了.只是原生的 COSS 启动慢(因为重建文件索引).对块设备支持也不好,也容易锁.所以现在的公司都会选择优化和修复这个.


以下是一个我很久前的对比.不知到现在还可不可行.

squid2.5:太老,不支持epoll,内存管理不完善,常常会引起重起.

squid2.6-2.7:建议使用,性能不错,2.7很建议使用一下.因为基本上有3.0的所有特性,还有2.6的性能和稳定.另外2.6只支持部分http1.1,2.7也有很大的改进.

squid3.0:不建议.因为使用c++全部重写了.不用想现在性能上远不如2.6和2.7.

Varnish:这个基本大家都知道.但我从没用过,我查过资料,有以下几个奇怪的问题.我认为在实用中影响很大.

      (1. 它只能响应存在本地的请求.必须在buffer中.这样对miss时极大的影响性能.

      (2. 在大量小文件时,mmaped file内存分配有问题.

       (3. varnish对CLOSE_WAIT处理上面好象有问题,会比squid多很多..

       (4. varnish没有象squid一样的处理不正常cache的机制,squid有stale-if-error 和stale-while-revalidate二个方法.


另外,还得讲一点,根据我在这几家公司的经验,包括土豆,很少有公司能给所有图片存到内存中就行了,无论多小的一家公司图片基本都是上  500G 以上了.所以 Varnish 并不是非常合适这种大点的互联网公司.如果是用到 Varnish 的硬盘 Cache 功能 ,我会选择更加成熟的 Squid.
基本上,对 HTTP 协议支持最好的就是 Squid. Nginx 可以讲基本上所有的 HTTP 有关的 Cache 协议根本不支持.

评分

参与人数 1可用积分 +30 收起 理由
无风之谷 + 30 很给力!

查看全部评分

论坛徽章:
0
53 [报告]
发表于 2012-04-19 23:54 |只看该作者
本帖最后由 LnBSD 于 2012-04-19 23:55 编辑
iakuf 发表于 2012-04-19 22:54
目前主流 CDN 公司来讲,都是基于 Squid 来做的开二开发,和开发模型.从功能上来讲 Squid 原生是为 Cache 设计 ...
  1. 另外,还得讲一点,根据我在这几家公司的经验,包括土豆,很少有公司能给所有图片存到内存中就行了,无论多小的一家公司图片基本都是上  500G 以上了.所以 Varnish 并不是非常合适这种大点的互联网公司.如果是用到 Varnish 的硬盘 Cache 功能 ,我会选择更加成熟的 Squid.
复制代码
这句话说的好,我就是因为这个才放弃varnish的,几十TB的数据,前面用varnish,想都别想

论坛徽章:
0
54 [报告]
发表于 2012-04-20 06:46 |只看该作者
iakuf 发表于 2012-04-19 22:54
很多人可能会讲, Squid 因为是单核,所以性能不好,要知道整个 Cache 的应用中,都是文件类型的,大多的问题都在 IO 上,象我普通的 Cache 视频跑个 1G 是很容易的对 Squid 完全无多少压力.这时 CPU 占用才 60% .象小文件,由于普通硬盘每秒的有效 IOPS 不会高过  50 次. 所以这时也是性能卡在硬盘上面.基本跑个 300M 硬盘都不行了.所以这时不要太在意单核的 CPU 使用

还是有意义的,比如有证书的 HTTPS 场景
这时,需要大量 CPU 参与运算,而真正磁盘 IO 其实没多少

论坛徽章:
0
55 [报告]
发表于 2012-04-20 06:50 |只看该作者
king_819 发表于 2012-04-19 16:29
回复 21# Gray1982

访问速度比较:Varnish采用了“Visual Page Cache”技术,所有缓存数据都直接从内存读取,而Squid是从硬盘读取缓存数据,因此Varnish在访问速度方面会更快

假如我的内存足够大,将 squid 的 cache_dir 设置到 /dev/shm 里,是不是也可以达到类似的效果呢?

论坛徽章:
0
56 [报告]
发表于 2012-04-20 06:56 |只看该作者
yuhongchun 发表于 2012-04-19 10:11
minyoni 发表于 2012-04-19 10:02
squid 如不涉及到二次开发,大流量高并发场景,根本支撑不住。(CC就做的不错)
目前大多使用场景都是优化 ...


朋友你这是说的是单IDC吧,CDN系统应该不存在这问题吧,CDN系统部署得好,DDOS、CC都不是问题。

这里说的 CC 应该是指 ChinaCache 蓝汛吧?好像不是指 CC 攻击

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
57 [报告]
发表于 2012-04-20 08:05 |只看该作者
platinum 发表于 2012-04-20 06:56
这里说的 CC 应该是指 ChinaCache 蓝汛吧?好像不是指 CC 攻击

一定是指蓝汛

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
58 [报告]
发表于 2012-04-20 09:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
59 [报告]
发表于 2012-04-20 09:07 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
60 [报告]
发表于 2012-04-20 09:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP