文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  設定多個緩衝池實例

17.8.3.2 設定多個緩衝池實例

對於緩衝池大小達到數 GB 範圍的系統,將緩衝池分割成獨立的實例可以透過減少不同執行緒讀取和寫入快取頁面時的爭用,來提升並行處理能力。此功能通常適用於緩衝池大小達到數 GB 範圍的系統。多個緩衝池實例是使用 innodb_buffer_pool_instances 設定選項來設定,您也可以調整 innodb_buffer_pool_size 值。

InnoDB 緩衝池很大時,許多資料要求可以透過從記憶體擷取來滿足。您可能會遇到多個執行緒嘗試同時存取緩衝池所造成的瓶頸。您可以啟用多個緩衝池來最小化此爭用。儲存或從緩衝池讀取的每個頁面都會使用雜湊函數隨機指派給其中一個緩衝池。每個緩衝池都會管理自己的可用清單、刷新清單、LRU 以及所有其他與緩衝池連線的資料結構。

若要啟用多個緩衝池實例,請將 innodb_buffer_pool_instances 設定選項設定為大於 1 (預設值) 的值,最高可達 64 (最大值)。此選項只有在您將 innodb_buffer_pool_size 設定為 1GB 或更大的大小時才會生效。您指定的總大小會在所有緩衝池之間進行分割。為獲得最佳效率,請指定 innodb_buffer_pool_instancesinnodb_buffer_pool_size 的組合,使每個緩衝池實例至少為 1GB。

如需修改 InnoDB 緩衝池大小的相關資訊,請參閱第 17.8.3.1 節「設定 InnoDB 緩衝池大小」