设计工具
公司

Ceph BlueStore:缓存还是不缓存,这是一个问题

约翰Mazzie | 2019年3月

沙巴体育结算平台 加速Ceph存储解决方案,它利用在Red Hat Linux上运行的带有Red Hat Ceph 存储的服务器. 我将介绍几个工作负载场景,并向您展示缓存可以在哪些方面提供帮助, 基于我们解决方案测试实验室的实际结果.

\r\n

系统配置

\r\n

测试是使用四个OSD节点的Ceph集群完成的,配置如下:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
 处理器 单插座AMD 7551P
 内存 256GB DDR4 @ 2666Hz (8x32GB)
 网络 100G
 SATA驱动器 微米5210离子 3.84年结核病(x12)
 NVMe驱动器(缓存设备) 微米 9200 Max 1.6结核病(x2)
 OS Red Hat®Enterprise Linux.6
 应用程序 Red Hat Ceph 存储.2
 每盘SATA盘的osd数 2
 数据集 50个rbd,每个150GB, 2倍复制
\r\n

表1:Ceph OSD Server Configuration

\r\n

4KiB随机块测试

\r\n

对于4KiB随机写入, 使用FIO(灵活I/O), 您可以看到,利用缓存驱动器大大提高了性能,同时保持了较低的尾部延迟, 即使在高负荷下. 对于40个FIO实例, 性能提高了71% (190K vs 111K),尾部延迟降低了72% (119ms vs 665ms).

\r\n

 

\r\n"}}' id="text-d5a5fc537e">

缓存还是不缓存,这是一个问题.

嗯,你呢?? 缓存您的Ceph®集群? 答案是,视情况而定.

您可以使用高端企业NVMe™驱动器, 例如美光®9200 MAX, 并且不必担心从Ceph集群中获得最大的性能. 但是,如果您希望在主要由SATA驱动器组成的系统中获得更高的性能,该怎么办呢. 如果是这样的话, 在Ceph OSD服务器上添加几个更快的驱动器来存储BlueStore数据库和预写日志是有好处的.

美光开发并测试了受欢迎的沙巴体育结算平台 加速Ceph存储解决方案,它利用在Red Hat Linux上运行的带有Red Hat Ceph 存储的服务器. 我将介绍几个工作负载场景,并向您展示缓存可以在哪些方面提供帮助, 基于我们解决方案测试实验室的实际结果.

系统配置

测试是使用四个OSD节点的Ceph集群完成的,配置如下:

 处理器  单插座AMD 7551P
 内存  256GB DDR4 @ 2666Hz (8x32GB)
 网络  100G
 SATA驱动器  微米5210离子 3.84年结核病(x12)
 NVMe驱动器(缓存设备)  微米 9200 Max 1.6结核病(x2)
 OS  Red Hat®Enterprise Linux.6
 应用程序  Red Hat Ceph 存储.2
 每盘SATA盘的osd数  2
 数据集  50个rbd,每个150GB, 2倍复制

表1:Ceph OSD Server Configuration

4KiB随机块测试

对于4KiB随机写入, 使用FIO(灵活I/O), 您可以看到,利用缓存驱动器大大提高了性能,同时保持了较低的尾部延迟, 即使在高负荷下. 对于40个FIO实例, 性能提高了71% (190K vs 111K),尾部延迟降低了72% (119ms vs 665ms).

 

Ceph 1

图1:4KiB随机写性能和尾部延迟

在4KiB随机读取测试期间有一些性能提升,但不那么令人信服. 这是可以预期的, 在读测试期间, 预写日志将不会被利用,并且BlueStore数据库不会发生太大变化.

图2:4KiB随机读性能和尾部延迟

混合工作负载(70%读/30%写)也显示了在系统中使用缓存设备的好处. 性能提升范围从队列深度为64时的30%到队列深度为6时的162%.

图3:4KiB随机70%读/30%写性能和尾部延迟

4MiB对象测试

当使用4MiB对象运行rados bench命令时, 使用缓存设备可以获得一些性能提升, 但它不像小块工作负载那样引人注目. 因为预写日志很小,而对象很大, 添加缓存设备对性能的影响要小得多. 吞吐量提高了9% (4.94 GiB/s vs 4.53 GiB/s)带缓存vs无缓存, 而平均延迟降低了7%(126毫秒vs 138毫秒), 运行10个雷达工作台实例时.

图4:4 mib Object写性能

对于读操作,我们再次看到总体上的性能增益可以忽略不计.

图5:4MiB Object读性能

结论

如你所见, 如果您的工作负载几乎都是读取, 在Ceph集群中为BlueStore数据库和预写日志存储添加缓存设备不会有什么好处. 但是对于写作,这是一个完全不同的故事. 虽然, 对于大型物体, 这是有好处的, 缓存设备的真正亮点是小块写入和混合工作负载. 为您的系统添加几个微米性能9200 NVMe驱动器的小投资, 你可以充分利用你的Ceph集群.

使用开源存储会得到什么样的结果呢? 在美光加速Ceph存储中了解更多信息.

请在Twitter @微米存储上关注我们,并在LinkedIn上与我们联系.

首席存储解决方案工程师

约翰Mazzie

John是位于德克萨斯州奥斯汀的数据中心工作负载工程小组的技术人员. 他于2008年毕业于西弗吉尼亚大学(West Virginia University),获得硕士学位,主修无线通信. John曾在Dell的存储MD3系列存储阵列的开发和维护方面工作过. John于2016年加入美光,从事Cassandra的研究, MongoDB, 和Ceph, 以及其他高级存储工作负载.

" class="hidden">邢台123