关于ats缓存的热迁和冷迁

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

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

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

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

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

相关推荐
shao91851618 小时前
第3章(2)——使用Gradio JavaScript Client
javascript·node.js·cdn·gradio·job·events·playcode
Diros1g18 小时前
如何通过普通网线给另一个设备供网
网络·网络协议
beyond阿亮18 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
(Charon)19 小时前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip
KKKlucifer19 小时前
日志审计与行为分析在安全服务中的应用实践
网络·人工智能·安全
Aray123419 小时前
浅析内网跨网段连通差异:ICMP不可达与静默丢包底层原理拆解
网络·ping
Unbelievabletobe19 小时前
港股api的WebSocket推送如何订阅多只股票
网络·websocket·网络协议
TechWayfarer20 小时前
IP归属地运营商能解决什么问题?风控/增长/数据平台落地实践(附API代码)
开发语言·网络·python·网络协议·tcp/ip
TechWayfarer20 小时前
IP归属地运营商生产落地进阶:缓存+降级+灰度对账全解析
网络·python·网络协议·tcp/ip·缓存
funnycoffee12320 小时前
华为USG防火墙修改tcp aging time , default is 1200S
网络·网络协议·tcp/ip·usg aging time