首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

快速優化 MySQL 資料庫效能關鍵參數指南

     編輯:MySQL 資料庫相關知識

關鍵系統參數調優

透過網路資料查找與自身嘗試,認為以下參數對效能影響最大:

  1. back_log:MySQL 能處理的連線數量。主執行緒在極短時間內收到大量連線請求時生效。值指定暫停回應新請求前可堆疊的請求數。僅當預期短時間內有大量連線需增加。預設 50,建議改為 500。觀察到大量 unauthenticated user 待連線進程時需調大。
  2. interactive_timeout:互動連線等待動作秒數。預設 28800,建議改為 7200。
  3. key_buffer_size:索引區塊緩衝區大小,所有執行緒共享。增加可獲得更好索引處理(讀/多重寫),但過大導致換頁變慢。預設 8MB,2GB 記憶體主機建議改為 400MB。
  4. max_connections:允許同時客戶端連線數。增加會增加檔案描述符需求。預設 100,建議改為 1024,否則常見 Too many connections 錯誤。
  5. record_buffer(即 read_buffer_size):循序掃描執行緒為每張表分配的緩衝區。大量循序掃描時可增加。預設 128KB,建議改為 16MB。
  6. sort_buffer(即 sort_buffer_size):需排序執行緒分配的緩衝區。增加可加速 ORDER BY/GROUP BY。預設 2MB,建議改為 16MB。
  7. table_cache(即 table_open_cache):所有執行緒開啟表的數量。增加會增加檔案描述符。MySQL 每唯一開啟表需 2 個檔案描述符。預設 64,建議改為 512。
  8. thread_cache_size:可重用保存在緩存中的執行緒數。有新執行緒時從緩存取得,斷線時放入緩存。許多新執行緒時調大可提升效能。透過比較 Connections 與 Threads_created 狀態變數可見效果。建議設為 80。
  9. wait_timeout:非互動連線等待動作秒數。預設 28800,建議改為 7200。

調整方法與注意事項

參數調整透過修改 /etc/my.cnf 檔案並重啟 MySQL 實現。這是謹慎工作,上述數值僅為個人建議,請根據自身主機硬體狀況(特別是記憶體大小)進一步調整。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved