如何判断ssd和hdd缓存加速算法哪家好,配比如何控制。
内存配置ceph建议是1t硬盘1g上8-10t大硬盘有何需特殊考虑
各家块文件对象实现和建设付费方式对比,磁盘划分按t付费,还是整机付费,都需要单独建设。
缓存优化算法的评判标准是基于相同的硬件去对比性能和性能的稳定性,对比性能很好理解,通过测试工具或者生产压力进行测试,但同时也需要关注性能的稳定性,也可以理解成波动幅度,对于一些敏感性的应用,例如数据库,对于性能波动会有很高的要求。
单纯从算法层面对比,SSD是为了给HDD进行加速,但SSD的速度肯定高于HDD,所以算法的优化在于写入时尽可能降低SSD被击穿的可能性,读出时提升SSD的命中率,前者在于数据合并的算法概率,加速下刷的机制,大小数据块智能调整等等,这些都有专门的研发算法机制,业内也在持续优化。算法的不同,导致各家厂商对配比的要求也不尽相同,建议还是听从最佳实践。
对于内存的占用,ceph要求对磁盘(osd)的数量相关,对磁盘的容量没有额外要求,但除了磁盘占用,还有管理面、mon等等很多方面都有内存占用,包括有些厂商还需要求内存进行读缓存加速。所以内存空间的计量也需要全面考虑。
分布式文件对象存储的计费方式每家不同,但横向对比可以折算到每T的软硬件成本,是相对较为公平的方式。
收起面向 SSD-HDD 混合存储提出了一种基于动态替换代价的缓存调度算法(DRC),以请求中的热点数据以及替换数据的代价作为缓存替换依据,不仅有效地提高了缓存命中率,而且,通过减少磁盘随机写操作提升了系统的整体性能。
云计算系统的存储设备被多个虚拟机共享,导致数据读写的特征是随机化和碎片化的。
DRC:算法综合考虑了访问次数、访问频率、数据块是否“脏”等特性,计算出数据块的替换代价,并基于替换代价来调度缓存,从而提高了数据读写的命中率,进而提升了混合存储系统的性能。
此混合存储系统基于Linux的Device Mapper 架构来实现。
考虑到数据的热点迁移与访问频率的变化,DRC以在缓存中的数据页面的替换代价作为主要的排序标准,不但考虑热点的迁移,而且新增热点数据能够更好的响应。
一个缓存集合有两个队列,偶尔访问队列和频繁访问队列。当页面调入缓存,先放在偶尔访问队列,按LRU排序,偶尔访问队列的数据被访问后访问次数+1,达到访问阈值后迁移到频繁访问队列并清零访问次数。由于热点数据会随着时间迁移,所以每隔时间 T_half,将两个队列中的数据块被访问次数左移一位,避免在过去时间内某个数据块的访问次数积累较多造成新的热点数据被替换。
计算替换代价时,如果这个数据是脏,替换代价为DCOST*REFCOUNT,否则代价就是REFCOUNT,计算后将缓存内的数据按替换代价排序。
收起