Ceph BlueStore 与 FileStore:使用美光 NVMe SSD 时的块性能比较情况
BlueStore 是 Ceph 的新存储引擎,也是社区版本中的默认配置。由于 Red Hat Ceph 3.0 目前不支持 BlueStore,因此 BlueStore 性能数字未包含在我们当前的美光加速 Ceph 存储解决方案参考架构中。我在我们的 Ceph 参考架构硬件上,针对社区版 Ceph Luminous(12.2.4)进行了性能测试,并会在这篇博文中将结果与我们在 RHCS 3.0 中实现的 FileStore 性能进行比较。
4 KB 随机写入 IOPS 性能提升 18%,平均延迟降低 15%,并且 99.99% 尾部延迟降低高达 80%。在更高的队列深度下,使用 BlueStore 时的 4 KB 随机读取性能更好。
块工作负载 | RHCS 3.0 FileStore IOPS | Ceph 12.2.4 BlueStore IOPS | RHCS 3.0 FileStore 平均延迟 | Ceph 12.2.4 BlueStore 平均延迟 |
4 KB 随机读取 | 200 万 | 210 万 | 1.6 毫秒 | 1.4 毫秒 |
4 KB 随机写入 | 363K | 424K | 5.3 毫秒 | 4.5 毫秒 |
该解决方案针对块性能进行了优化。使用 Linux 中的 Rados 块驱动进行随机小块测试,能在 2 插槽存储节点中使铂金级 8168 英特尔 Purley 处理器饱和。
每个存储节点有 10 个驱动器,该架构具有 232TB 的可用存储容量,可通过添加额外的 1U 存储节点进行扩展。
参考设计——硬件
测试结果和分析
Ceph 测试方法
Red Hat Ceph Storage 3.0(12.2.1)使用 FileStore 进行配置,每个美光 9200MAX NVMe SSD 有 2 个 OSD。每个 OSD 使用 20 GB 日志。
Ceph Luminous Community(12.2.4)使用 BlueStore 进行配置,每个美光 9200MAX NVMe SSD 有 2 个 OSD。RocksDB 和 WAL 数据与实际数据存储在同一分区中。
在这两种配置中,每个存储节点有 10 个驱动器,每个驱动器有 2 个 OSD,总计运行 80 个 OSD,可用容量为 232 TB。
接受测试的 Ceph 存储池使用 8192 个放置组和 2 个副本进行创建。在性能测试中,使用 100 个 RBD 映像(每个 75 GB),即 2 个副本池各存储 7.5 TB 的数据,总计 15 TB 数据。
使用 FIO 对照 Rados 块驱动测量了 4 KB 随机块性能。在所有测试中,CPU 均受限,即使每个存储节点有 2 个英特尔 8168 CPU 也是如此。
RBD FIO 4 KB 随机写入性能:FileStore 与 BlueStore 比较
BlueStore 的 IOPS 增加约 18%,平均延迟降低约 15%。
在 FIO 客户端数量较多的情况下,使用 BlueStore 时 Ceph 的尾部延迟也大幅降低。在 100 个客户端条件下,尾部延迟降低了 4.3 倍。在客户端数量较少时,BlueStore 的尾部延迟高于 FileStore,因为 BlueStore 推动了更高的性能。
RBD FIO 4 KB 随机读取
FileStore 与 BlueStore 之间的 4 KB 随机读取性能相似。队列深度为 32 时,IOPS 增加 5%。
尾部延迟在队列深度至多为 32 时也相似,其中 BlueStore 表现更好。
想要了解更多信息?
基于英特尔 Purley 平台的 RHCS 3.0 + 美光 9200 MAX NVMe SSD 的架构展现出优异的速度。美光加速 Ceph 存储解决方案的新参考架构现已推出。我的下一篇博文将讨论 Bluestore 与 Filestore 在对象性能方面的比较。在 2018 年 OpenStack 峰会上,我在演讲期间详细介绍该了参考架构以及其他 Ceph 调优和性能主题。录制版演讲视频可在此处获取。
对我们的测试或方法有其他疑问? 请发送电子邮件至 ssd@micron.com 联系我们。