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

高併發網站 MySQL 核心參數調優實戰:back_log、key_buffer、max_connections 等 10 關鍵變量優化配置

     編輯:MySQL 資料庫相關知識

調優背景

日訪 20 萬+ 網站,MySQL 成為瓶頸,默認參數無法支撐高併發,需根據硬體(特別是記憶體)精細調整。

10 關鍵參數調優記錄(2GB 記憶體主機實測)

參數默認值調優值調優理由與觀測指標
back_log50500監聽隊列長度。show processlist 見大量 unauthenticated user 待連進程時調大。
interactive_timeout288007200交互連線空閒斷開時間,減少殭屍連線佔用資源。
key_buffer_size8MB400MB索引塊緩衝區,佔記憶體 20% 左右;過大導致換頁反而變慢。
max_connections1001024避免 Too many connections 錯誤;需配合系統文件描述符限制。
record_buffer (read_buffer_size)128KB16MB順序掃描緩衝,大量全表掃描查詢時調大。
sort_buffer_size2MB16MB加速 ORDER BY/GROUP BY;每線程分配,不可過大。
table_cache (table_open_cache)64512所有線程打開表數量;影響文件描述符需求(每表 2 個)。
thread_cache_size080線程復用池;對比 Connections vs Threads_created 調整。
wait_timeout288007200非交互連線空閒斷開,配合 interactive_timeout 釋放資源。

調優原則

  • 修改 /etc/my.cnf 後重啟 MySQL 生效。
  • 參數調整需謹慎,根據自有硬體(特別是記憶體大小)試驗微調。
  • 監控關鍵狀態變量(Threads_connected、Opened_tables、Sort_merge_passes 等)驗證效果。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved