Oracle 的工程師發現 MySQL 在新版 Linux Kernel 的 Ext4 有顯著的效能下降問題。

當開啟 Direct I/O 時,MySQL 的效能下降最多二倍。起因是 Linux Kernel 4.9 之後,Ext4 允許平行 DIO 讀取所導致。

img

後來有人發現此問題,並提供了 Patch。

[RFC-v2,0/2] ext4: Improve ilock scalability to improve performance in DirectIO workloads

只不過該 Patch 在 Linux Kernel 5.4 / 5.5 之後才會內建。

所以,若對效能有關鍵要求,以下可擇一,

❶ 將 Linux Kernel 降級至 4.9。

❷ 安裝 Linux kernel 5.3.0 版本,然後打上 Patch (https://patchwork.ozlabs.org/cover/1165804/)。

❸ 如果 Direct I/O 對你很重要,建議換到 XFS