十年后数据库还是不敢拥抱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结构的存在。
➡️

继续阅读