admin管理员组

文章数量:1655503

新钛云服已累计为您分享722篇技术干货


介绍

通常情况下,Ceph 的整体性能还是不错的,大量的场景优化为 Ceph 集群提供了可靠的性能保障。但是,很少有人知道 Ceph 当前并没有充分发挥出硬件的性能,也就说集群的性能与硬件的性能并不是呈线性增长的。

目前,我们正在进行多种方法来优化 Ceph 的数据路径,但现实情况是 Ceph 一直都是需要相当多的 CPU 才能充分发挥出比如像 NVMe 这样高速存储设备的性能。

之前,一位用户向我们提出了对低 CPU Core 下性能的担忧。我们给出的建议是,在使用 NVMe 磁盘时,可以为每个 OSD 分配 2 个 CPU Core 。我们并没有去解释原因。最终,用户购买了相应的硬件服务器,且服务器只插了一半的 NVMe 磁盘(即每个 OSD 有 4 个CPU Core 可用)。正常情况下,该配置的性能是可以接受的。但用户依然比较关心当服务器插满所有的 NVMe 磁盘时候,性能是否有影响。

遗憾的是,我们不得不告诉他们,添加更多磁盘后,他们很可能只会看到容量增加,而不是性能增加。但我们的建议并非完全没有价值。如果用户不关心小型随机 IO 的性能,则每个 OSD 2 个 CPU Core 可能是一个很好的推荐。除了提高小型随机 IO 性能之外,在 NVMe 磁盘运行 Ceph 还有很多好处。然而,对于该用户来说,小型随机 IO 是必须要关注的,而这恰恰是 CPU 资源最重要的情况。

所以不得不告诉他们,在增加磁盘后,他们很可能只会看到容量增加,而不是性能的增加。

遗憾的是,这不是第一次出现这个问题,并且该问题依然有很多困扰点。2 年前,我们更新了上游 Ceph 文档,试图在 PR (https://github/ceph/ceph/pull/32093 ) 中提供更好的案例。当时,我们的推荐场景要求如下:

  • 1 core per 200-500 MB/s

  • 1 core per 1000-3000 IOPS

不过这里最重要的方面是 IOPS 性能。本文将重点介绍 Ceph 小型随机 IOPS 性能如何随着 CPU 资源的增加而扩展。

集群配置

本文标签: 性能CephOSDCPU