关于 MariaDB 和 MySQL 可伸缩性、多表 OLTP RO 的一些有趣发现

自从我在我们那台老旧的 4 CPU / 32 核 / 64 线程的 Sandy Bridge 服务器上对 MariaDB 和 MySQL 进行基准测试以来,差不多一年过去了。自那时起,似乎发生了一些有趣的事情。

image

  • MySQL 5.6.23 的峰值吞吐量比 5.6.14 下降了约 8%。看起来这个性能退化出现在 MySQL 5.6.21 中。
  • 10.0.18 (git 快照) 的峰值线程数比 10.0.9 增加了约 20%,达到了与 5.6.23 相同的水平(但不是与 5.6.20)。
  • 10.1.4 (git 快照) 和 5.7.5 是佼佼者(尽管 10.1.4 通常快 1-5%)。两者在 64 线程下具有相似的峰值。它们似乎正在触及该系统的极限,因为两者都有进一步扩展的能力。
  • 与 5.7.5 相比,5.7.6 存在严重的(约 50%)可伸缩性退化。存在严重的 LOCK_plugin 互斥锁争用,这似乎是由查询重写插件框架引起的。我找不到禁用它的方法。希望这能在即将发布的版本中得到修复。

原始数据可在 Google 文档中查看。