存储 频道

淘宝商城286亿图片访问的CDN架构全解析

  Squid节点的改进和优化

  新的CDN在squid节点上也进行了一些改进和优化,包括:

  在COSS存储系统基础上实现了TCOSS,FIFO加上按一定比例保留热点对象,支持1T大小的文件

  Squid内存优化,一台Squid服务器若有一千万对象, 大约节省1250M内存,更多的内存可以用作memory cache。

  用sendfile来发送缓存在硬盘上的对象,加上page cache,充分利用操作系统的特性

  针对SSD硬盘,可以采用DIRECT_IO方式访问,将内存省给SAS/SATA硬盘做page cache

  在Squid服务器上使用SSD+SAS+SATA混合存储,实现了类似GDSF算法,图片随着热点变化而迁移。

  根据淘宝网的资料数据,SSD的存储成本大约是20¥每GB左右,SAS硬盘的存储成本约在 5-6¥每GB,SATA盘的每GB成本不到1¥。随着对应用性能的要求提升,应用SSD是未来的趋势,针对不同硬盘的存取特性进行优化是十分必要的。

  目前在squid节点中的热点迁移采用了两种策略,一种是根据文件大小来定义迁移到哪种磁盘上去。例如较大的文件存放在SATA磁盘,中等大小的文件放在SAS磁盘上,较小的文件存放在SSD磁盘。下图是淘宝网进行自动分层迁移后的性能测试结果,测试环境包括1块SSD硬盘+4块SAS硬盘+SATA硬盘。访问负载状况如下:

Squid节点的改进和优化
第一种迁移策略按文件大小决定存储的磁盘类型,上图中:黑色为SATA,绿色为SSD,红色为SAS,4块SAS硬盘上的访问量总和超过SSD硬盘上的访问量

  另外一种策略则是根据访问热度来决定,最热的文件存放在SSD盘,较热的存放在SAS盘,最冷的文件存放在SATA盘。下图是淘宝网同样在1块SSD硬盘+4块SAS硬盘+SATA硬盘下的测试结果,访问负载状况如下:

Squid节点的改进和优化
第二种迁移策略按访问的热度来进行迁移,其中:黑色为SATA,绿色为SSD,红色为SAS;SSD硬盘上的访问量是4块SAS硬盘上访问量之和的5倍以上,SAS和SATA的硬盘利用率低了很多。

0
相关文章