十年后数据库还是不敢拥抱NUMA - 续篇
💡
原文中文,约5600字,阅读约需14分钟。
📝
内容提要
本文讨论了NUMA对数据库性能的影响。作者测试发现,BIOS设置为ON时,无论操作系统设置是ON还是OFF,内存延迟都存在抖动。而当BIOS设置为OFF时,内存延迟稳定在一个平均值。作者认为设置numa=off在操作系统启动参数中是没有必要的,反而会隐藏NUMA结构。
🎯
关键要点
- NUMA对数据库性能的影响显著,不同CPU核心与内存的物理距离决定了性能差异。
- 程序应尽量在同一NUMA节点内运行,以减少性能抖动。
- BIOS设置为ON时,内存延迟存在抖动,而设置为OFF时,内存延迟稳定在平均值。
- 在操作系统启动参数中设置numa=off并不必要,反而会隐藏NUMA结构。
- 测试结果显示,BIOS设置ON时,无论OS层面设置如何,内存延迟均存在抖动。
- 内存交织的测试结果表明,lmbench测试得到的延迟是平均值,而非最慢值。
- mlc测试与lmbench测试结果不同,但快慢差距基本一致,反映了测试方法的差异。
- 结论是,设置numa=off无法解决内存延迟抖动问题,反而掩盖了NUMA结构的存在。
➡️