mysql參數之innodb_buffer_pool_size大小設置


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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM