Innodb

Innodb_buffer_pool 大小的 75% RAM

  • November 21, 2014

我已經閱讀了許多文件,包括 percona 和 MariaDB 文件,他們建議將 innodb_buffer_pool_size 設置為 RAM 的 70-80%。我的問題是,是總 RAM 還是可用 RAM?例如,當我在 CentOS-6.5 上執行 free -m 時,我得到以下資訊:

[root@master5 ~]# free -m
            total       used       free     shared    buffers     cached
Mem:         19991        999      10992          0         38         92
-/+ buffers/cache:        867      19123
Swap:         1999          0       1999

那麼是 19991 的 75-80% 還是 10992 的 75-80%?

總計,但請記住,這只是一個經驗法則。設置值時使用常識。InnoDB 確實喜歡盡可能多的記憶體,但有幾件事需要考慮:

  1. 確保有足夠的 RAM 剩餘用於需要在伺服器上執行的所有其他內容

  2. 請記住,InnoDB 緩衝池的目的是處理數據的正常工作集。您的數據庫總量有多大,包括一些增長因素?沒有必要設置更多的緩衝池,即使你有 RAM。但是您的工作數據集(日常活動中使用的數據)通常小於數據庫的總大小。為了獲得最佳性能,它真的需要在 RAM 中保留多少?

引用自:https://dba.stackexchange.com/questions/83235