天翼云开发者社区 · 1月6日 · 北京

关于ats缓存的热迁和冷迁

本文分享自天翼云开发者社区《关于ats缓存的热迁和冷迁》,作者:LeonHao。

在CDN的服务中,有些内容访问会比较频繁,这种资源在性能更好的SSD中,会带来更好的访问体验。另外一些内容访问较少,作为相对冷的资源,只需要在HDD磁盘获取内容,即可达到较好的性能。这时就需要有策略的实现缓存的冷热迁移。

ats缓存在写入磁盘时,会将内容拆成1兆一个fragment的方式,链式的写入到单个磁盘中。如果某个大文件命中到HDD磁盘,但访问时却只按照Range方式访问了其中一部分,这样只加热了单个文件的某一部分。如果因为单个部分的访问就将全部文件迁入到ssd中,消耗的代价会比较大。但是如果只迁移单个fragment,就会破坏ats原有的单文件单磁盘的访问方式。

在SSD缓存被覆盖前,资源需要被迁入到hdd盘,保证冷资源不会被很快的淘汰。但也是在大文件场景中,如果将完整文件冷迁到HDD盘,那就需要保证在迁移完成后,资源不会被覆盖掉。这样的话,单磁盘的锁被独占,资源写入被搁置,性价比太差。如果只迁移单个fragment,也是相同的原因:破坏了ats原有的单文件单磁盘的访问方式。

基于以上原因,需要对ats的单文件单磁盘模式重新进行设计,实现单个fragment重新做磁盘映射hash,大文件的存储就像Range请求一样,分散在不同的磁盘,迁移不再依赖首片的磁盘索引。

推荐阅读
关注数
8771
内容数
546
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息