关于 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 文档中获取。