mysql參數之innodb_buffer_pool_size大小設置 用於緩存索引和數據的內存大小,這個當然是越多越好, 數據讀寫在內存中非常快, 減少了對磁盤的讀寫。 當數據提交或滿足檢查點條件后才一次性將內存數據刷新到磁盤中。然而內存還有操作系統或數據庫其他進程使用, 根據經驗,推薦設置innodb-buffer-pool-size為服務器總可用內存的75%。 若設置不當, 內存使用可能浪費或者使用過多。 對於繁忙的服務器, buffer pool 將划分為多個實例以提高系統並發性, 減少線程間讀寫緩存的爭用。buffer pool 的大小首先受 innodb_buffer_pool_instances 影響, 當然影響較小。 Innodb_buffer_pool_pages_data Innodb buffer pool緩存池中包含數據的頁的數目,包括臟頁。單位是page。 eg、show global status like 'Innodb_buffer_pool_pages_data'; Innodb_buffer_pool_pages_total innodb buffer pool的頁總數目。單位是page。 eg:show global status like 'Innodb_buffer_pool_pages_total'; show global status like 'Innodb_page_size'; 查看@@innodb_buffer_pool_size大小,單位字節 SELECT @@innodb_buffer_pool_size/1024/1024/1024; #字節轉為G 在線調整InnoDB緩沖池大小,如果不設置,默認為128M set global innodb_buffer_pool_size = 4227858432; ##單位字節 計算Innodb_buffer_pool_pages_data/Innodb_buffer_pool_pages_total*100% 當結果 > 95% 則增加 innodb_buffer_pool_size, 建議使用物理內存的 75% 當結果 < 95% 則減少 innodb_buffer_pool_size, 建議設置大小為: Innodb_buffer_pool_pages_data * Innodb_page_size * 1.05 / (1024*1024*1024)