8.0 預設值
innodb_buffer_pool_instances * 2
8.4 預設值
2
Dynamic
No
需特別關注
需特別關注
簡介
該參數定義了 doublewrite file 的數量。
說明
doublewrite 是 InnoDB 保證資料一致性與避免部分頁寫入(partial page write)的一種機制。當 MySQL flush dirty page 時,會先將這些頁面複製到記憶體中的 doublewrite buffer,然後批次寫入磁碟上的 doublewrite file 並調用
fsync()
保證落盤成功,確認無誤後,再將這些頁寫入最終的 .ibd 檔案(或其他表空間檔案)。預設情況下會為每一個 buffer pool instance 建立兩個 doublewrite file:
- flush list doublewrite file
- LRU list doublewrite file
doublewrite 的最大數量是 innodb_buffer_pool_instance 的 2 倍。
建議
官方說明這是高級的性能優化設置,預設值適用於大部分的使用者。
個人看法因為 doublewrite 非常小並且是順序寫入,所以大部分情境都不會是瓶頸,對於高核 CPU 跟高速 SSD 才考慮是否有這方面的瓶頸需要調整。
參考
‣