欢迎来到【快捷订餐php源码】【繁体源码】【rtlinux源码】ceph osd 源码-皮皮网网站!!!

皮皮网

【快捷订餐php源码】【繁体源码】【rtlinux源码】ceph osd 源码-皮皮网 扫描左侧二维码访问本站手机端

【快捷订餐php源码】【繁体源码】【rtlinux源码】ceph osd 源码

2024-12-27 02:10:53 来源:{typename type="name"/} 分类:{typename type="name"/}

1.BlueStore源码分析之Cache

ceph osd 源码

BlueStore源码分析之Cache

       BlueStore通过DIO和Libaio直接操作裸设备,放弃了PageCache,为优化读取性能,它自定义了Cache管理。核心内容包括元数据和数据的快捷订餐php源码Cache,以及两种Cache策略,繁体源码即LRU和2Q,2Q是默认选择。

       2Q算法在BlueStore中主要负责缓存元数据(Onode)和数据(Buffer),为提高性能,Cache被进一步划分为多个片,HDD默认5片,SSD则默认8片。rtlinux源码

       BlueStore的元数据管理复杂,主要分为Collection和Onode两种类型。Collection存储在内存中,Onode则对应对象,高低源码便于对PG的操作。启动时,会初始化Collection,将其信息持久化到RocksDB,20源码并为PG分配Cache。

       由于每个BlueStore承载的Collection数量有限(Ceph建议每个OSD为个PG),Collection结构设计为常驻内存,而海量的Onode则仅尽可能地缓存在内存中。

       对象的数据通过BufferSpace进行管理,写入和读取完成后,会根据特定标记决定是否缓存。同时,内存池机制监控和管理元数据和数据,一旦内存使用超出限制,会执行trim操作,丢弃部分缓存。

       深入了解BlueStore的Cache机制,可以参考以下资源: