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

MySQL 效能調優十大關鍵參數:back_log、key_buffer、max_connections 等實戰配置

     編輯:MySQL 資料庫相關知識

參數速查表(以 2GB 記憶體伺服器為例)

參數預設建議值調整依據
back_log50500觀察 unauthenticated user 堆積時調大
interactive_timeout288007200減少閒置連線佔用槽位
key_buffer_size8M400MMyISAM 索引緩衝,設為實體記憶體 20-25%
max_connections1001024配合 open_files_limit、ulimit -n
read_buffer_size128K16M全表掃描頻繁時調大
sort_buffer_size2M16MORDER BY/GROUP BY 大結果集
table_open_cache64512開啟表數量,配合 open_files_limit
thread_cache_size080對比 Connections vs Threads_created,重用率 > 90%
wait_timeout288007200非互動連線閒置回收

配置檔案位置與生效方式

/etc/my.cnf 或 /etc/mysql/my.cnf
[mysqld]
key_buffer_size = 400M
max_connections = 1024
...
# 修改後重啟
systemctl restart mysqld

調優黃金法則

  1. 一次只改一個參數,觀察負載測試結果。
  2. 以瓶頸為導向:CPU 高→查緩衝/排序;I/O 高→查緩衝池/索引;連線錯誤→查 max_connections/back_log。
  3. 記憶體總和不可超過物理 70-80%:key_buffer + innodb_buffer_pool + (read_buffer + sort_buffer) * max_connections 估算峰值。
  4. 生產環境先在 Staging 驗證,備份 my.cnf 以便快速回滾。

補充:字符集與搜尋

啟動參數 --default-character-set=gb2312 可使搜尋不分大小寫且支援中文,但新專案建議直接用 utf8mb4 + utf8mb4_unicode_ci。

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