SHOW STATUS 關鍵指標:Key_read_requests/Key_reads(key_buffer_size)、Open_tables/Opened_tables(table_cache)、Table_locks_waited、Qcache_*、慢查詢日誌。mysqlreport、mytop。top、sar、MySQL 錯誤日誌。ulimit -n 65535 擴大文件句柄。hdparm 測試優化磁盤參數。| 參數 | 建議值/原則 | 影響 |
|---|---|---|
| key_buffer_size | 可用內存 25-30%(MyISAM) | 索引緩存,監控 Key_reads/Key_read_requests < 1:100 |
| table_cache | 1024+,峰值 Open_tables=table_cache 且 Opened_tables 增長時調大 | 表緩存,防文件句柄耗盡 |
| sort_buffer_size | 4GB 內存建議 6-8MB | 每連接獨佔,過大導致 OOM |
| join_buffer_size | 4GB+ 內存建議 32MB+ | 每連接獨佔,關聯查詢加速 |
| max_connections | 按峰值併發估算,留 20% 余量 | 最大連接數 |
| thread_cache_size | CPU 核心數 × 2 | 線程復用,減少創建銷毀 |
| innodb_buffer_pool_size | 僅 InnoDB 時 70-80% 內存 | 數據+索引緩存,InnoDB 生命線 |
| innodb_flush_log_at_trx_commit | 2(折中:秒級刷盤,性能↑、風險可控) | 事務提交刷盤策略,1 最安全最慢,0 最快最危險 |
優化順序:架構/應用層 → 硬件/OS → MySQL 參數。參數調優需配合 SHOW STATUS、慢日誌、系統指標閉環驗證,切忌盲目複製模板。