狀態變數分類導覽
執行 SHOW GLOBAL STATUS 可檢視所有全域狀態變數。本文依功能領域分類整理核心指標,供效能診斷與監控查閱。
連線與執行緒
| 變數 | 含義 |
Connections | 嘗試連線總次數 (含失敗) |
Max_used_connections | 歷史峰值併發連線數 |
Threads_connected | 目前開啟連線數 |
Threads_running | 目前非睡眠執行緒數 (活躍查詢) |
Threads_created | 歷史建立執行緒總數 |
Threads_cached | 目前緩存中閒置執行緒數 |
Aborted_clients | 客戶端異常斷開累計 |
Aborted_connects | 連線嘗試失敗累計 |
Slow_launch_threads | 建立耗時超過 slow_launch_time 的執行緒數 |
查詢與快取
| 變數 | 含義 |
Questions | 總查詢數 (含所有類型) |
Slow_queries | 慢查詢累計 (超過 long_query_time) |
Qcache_hits | 查詢快取命中次數 |
Qcache_inserts | 查詢快取插入次數 (未命中) |
Qcache_lowmem_prunes | 因記憶體不足被淘汰的快取條目數 |
Qcache_not_cached | 不可快取的查詢數 (非 SELECT、含不確定函數等) |
Qcache_queries_in_cache | 目前快取中的查詢數 |
Qcache_total_blocks | 快取區塊總數 |
Qcache_free_blocks | 快取空閒區塊數 (碎片指標) |
Qcache_free_memory | 快取剩餘記憶體位元組 |
表與鎖
| 變數 | 含義 |
Open_tables | 目前開啟的表數 |
Opened_tables | 歷史開啟表總數 |
Table_locks_immediate | 立即獲得表鎖次數 |
Table_locks_waited | 等待表鎖次數 |
Open_files | 目前開啟檔案數 |
Open_streams | 目前開啟流數 (主要日誌) |
處理器層統計
| 變數 | 含義 |
Handler_commit | 內部 COMMIT 次數 |
Handler_rollback | 內部 ROLLBACK 次數 |
Handler_delete | 刪除行請求數 |
Handler_update | 更新行請求數 |
Handler_write | 寫入行請求數 |
Handler_read_first | 讀索引第一行次數 (全索引掃描指標) |
Handler_read_key | 索引鍵值讀取次數 |
Handler_read_next | 依索引序讀下一行次數 |
Handler_read_prev | 依索引逆序讀上一行次數 |
Handler_read_rnd | 固定位置讀取次數 (需排序) |
Handler_read_rnd_next | 讀下一行次數 (全表掃描指標) |
Handler_discover | NDB Cluster 表發現次數 |
排序與臨時表
| 變數 | 含義 |
Sort_merge_passes | 排序合併次數 (磁碟臨時檔排序) |
Sort_range | 範圍排序次數 |
Sort_rows | 排序處理總行數 |
Sort_scan | 全表掃描排序次數 |
Created_tmp_tables | 隱含記憶體臨時表建立數 |
Created_tmp_disk_tables | 磁碟臨時表建立數 |
Created_tmp_files | 臨時檔案建立數 |
InnoDB 專用監控 (關鍵子集)
| 變數 | 含義 |
Innodb_buffer_pool_pages_data | 含資料的頁數 |
Innodb_buffer_pool_pages_dirty | 髒頁數 |
Innodb_buffer_pool_pages_free | 空閒頁數 |
Innodb_buffer_pool_read_requests | 邏輯讀請求數 |
Innodb_buffer_pool_reads | 實體讀頁數 (未命中) |
Innodb_buffer_pool_wait_free | 等待頁面清空次數 |
Innodb_rows_inserted | 插入行數 |
Innodb_rows_updated | 更新行數 |
Innodb_rows_deleted | 刪除行數 |
Innodb_rows_read | 讀取行數 |
Innodb_row_lock_waits | 行鎖等待次數 |
Innodb_row_lock_time_avg | 行鎖平均等待毫秒 |
Innodb_log_waits | Redo Log 寫入等待次數 |
MyISAM 索引快取
| 變數 | 含義 |
Key_read_requests | 索引快取讀取請求 |
Key_reads | 實體磁碟讀索引塊 |
Key_write_requests | 索引快取寫入請求 |
Key_writes | 實體磁碟寫索引塊 |
Key_blocks_used | 已使用索引快取塊數 |
Key_blocks_unused | 未使用索引快取塊數 |
Key_blocks_not_flushed | 未刷盤的髒塊數 |
複寫狀態
| 變數 | 含義 |
Slave_running | 從庫 SQL 執行緒運行狀態 (ON/OFF) |
Slave_open_temp_tables | 從庫開啟臨時表數 |
Slave_retrieved_transactions | 從庫 SQL 執行緒嘗試交易總數 |
Rpl_status | 複寫狀態摘要 |
SSL 與其他
| 變數 | 含義 |
Ssl_xxx | SSL 連線相關計數器 |
Uptime | 服務運行秒數 |
Last_query_cost | 最後查詢優化器成本估算 |
Binlog_cache_use | 使用 Binlog Cache 交易數 |
Binlog_cache_disk_use | 超過 binlog_cache_size 使用臨時檔交易數 |
Prepared_stmt_count | 當前預備語句數 |
重置計數器
FLUSH STATUS;
將大多數狀態變數歸零 (不含 `Uptime` 等)。適合基準測試前重置。
使用建議
- 建立監控儀表板持續採集核心 20-30 個指標
- 設定基準線與告警閾值 (參考 依據 STATUS 優化 文章計算公式)
- 定期 `FLUSH STATUS` 配合負載測試量化優化效果
- 結合 `SHOW ENGINE INNODB STATUS`、`SHOW PROCESSLIST` 多維診斷