Ceph Autotune¶
Ceph 在默认配置下性能并非最佳。
问题描述¶
目前,我们在安装 Ceph 后不会进行任何调优。为了使 Ceph 达到最佳性能,需要调整许多小细节。
许多邮件列表消息显示用户对 Ceph 缓慢的性能感到沮丧。这个史诗任务的目标是捕捉那些容易实现的改进,以便每个人都能获得更好的 Ceph 使用体验。
提议的变更¶
我建议几个可以轻松改进的领域。
有几个领域可以改进,例如 HDD 预读和最大硬件扇区设置。我们还可以调整 10Gb 和 40Gb 网络的 sysctl 网络设置。
最后,我注意到在多插槽主板上的 IRQ 对齐并不理想。我们可以使用 numactl 将 IO 路径中所有组件的 IRQ(从网络到 OSD 再到磁盘)固定到特定的 CPU。
在所有更改中,IRQ 固定可能最具挑战性。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
cholcombe973
Gerrit Topic¶
所有与此规范相关的补丁请使用 Gerrit 主题“performance-optimizations”。
git-review -t performance-optimizations
工作项¶
HDD 预读设置:通常,存储服务器的 HDD 预读设置太小。
10/40Gb sysctl 设置:10Gb 和 40Gb 网络需要特殊的 sysctl 设置来提高其性能。
HDD 最大硬件扇区:将最大硬件扇区设置为尽可能大,可以实现更大的顺序写入,从而提高性能。
多插槽主板上的 IRQ 对齐:在多插槽主板上,Linux 在对齐 IRQ 方面表现不佳,导致 CPU 之间频繁交换缓存内存。这会显著降低 Ceph 的性能。
仓库¶
此工作不需要新的 git 仓库。
文档¶
将对受影响的 charms 中的 README 文件进行更新,作为此更改的一部分。
安全性¶
没有额外的安全问题。
测试¶
代码更改将由单元测试覆盖;功能测试将使用 Mojo 规范完成。
依赖项¶
charm-layering