文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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 緩衝池大小」