首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.6 狀態變量全分類詳解:340+ 指標一網打盡

     編輯:MySQL 綜合教學

MySQL 5.6 狀態變量全分類詳解:340+ 指標一網打盡

SHOW GLOBAL STATUS 返回 340+ 狀態變量,是性能診斷、容量規劃、故障排查的「體檢報告」。本文按功能域將所有指標分為 25 大類,並給出核心指標中文解讀與告警閾值建議。

版本基線

mysql> SELECT VERSION();
+-----------+
| 5.6.22    |
+-----------+

25 大分類全景圖

  1. InnoDB 存儲引擎(51 項):Buffer Pool、I/O、日志、頁、鎖、行操作、文件、Undo
  2. Handler 處理器(18 項):提交、刪除、發現、外部鎖、MRR、準備、各類讀寫
  3. 連接統計:中斷連接、失敗連接
  4. 二進制日志:Cache 使用、磁盤落盤、Stmt Cache
  5. 網絡流量:接收/發送字節數
  6. 連接情況:壓縮協議、各類連接錯誤、總連接數、最大並發連接
  7. 臨時文件/表:磁盤臨時表、內存臨時表、臨時文件數
  8. 延遲插入:錯誤行、線程數、寫入行、待刷新行
  9. FLUSH 命令:執行次數
  10. 鍵/索引緩存:未刷塊、未用塊、已用塊、讀請求/物理讀、寫請求/物理寫
  11. 查詢統計:最後查詢成本、部分計劃、總請求數、客戶端發送查詢數
  12. 打開文件/表緩存:打開文件/流/表定義/表、歷史打開數、Cache Hit/Miss/Overflow(5.6.6+)
  13. 預處理語句:當前數量
  14. 查詢緩存:空閒塊/內存、命中/插入/低內存剔除/未緩存/緩存查詢數/總塊數
  15. 表掃描/索引掃描:全連接、范圍連接、全掃描、范圍檢查
  16. 從庫復制:心跳週期/接收、臨時表、重試事務、運行狀態
  17. 慢查詢:慢啟動線程、慢查詢數
  18. 排序統計:合併次數、范圍排序、排序行數、掃描排序
  19. 表鎖:立即獲取、等待獲取
  20. XA 事務日志:最大頁使用、頁大小、頁等待
  21. 線程池:緩存線程、連接線程、創建線程、運行線程
  22. 運行時間:Uptime、自上次 FLUSH STATUS 秒數
  23. Performance Schema(23 項):各類 Lost 計數器(儀表丟失監控)
  24. SSL 連接(25 項):協商、會話、驗證、加密套件統計
  25. Com_* 命令計數器(142 項):所有 SQL 命令執行次數(DDL/DML/管理/復制/事務/準備語句等)

核心指標中文解讀精選(附告警建議)

指標作用域含義與告警閾值
Aborted_clientsGlobal客戶端非正常斷開數。持續增長 → 檢查網絡/超時設置/應用連接池
Aborted_connectsGlobal連接失敗數。驟增 → 暴力破解/網絡故障/max_connections 耗盡
Innodb_buffer_pool_read_requestsGlobal邏輯讀請求數。配合 Innodb_buffer_pool_reads 計算命中率:
Hit% = 1 - Reads/Requests,< 99% 需擴容或優化 SQL
Innodb_buffer_pool_wait_freeGlobal等待空閒頁刷新計數。> 0 且持續增長 → Buffer Pool 過小或刷新跟不上,調大 innodb_buffer_pool_size / innodb_io_capacity
Innodb_row_lock_waitsGlobal行鎖等待次數。配合 Innodb_row_lock_time_avg 定位熱點表/索引
Created_tmp_disk_tablesSession/Global磁盤臨時表數。佔比 > 10% → 調大 tmp_table_size/max_heap_table_size 或優化 GROUP BY/ORDER BY
Handler_read_rnd_nextSession/Global全表掃描次數。持續高企 → 缺少索引或 SQL 未命中索引
Key_read_requests / Key_readsGlobalMyISAM 索引緩存命中率:1 - Key_reads/Key_read_requests,< 99% 調大 key_buffer_size
Opened_tablesGlobal歷史打開表數。增長快 → table_open_cache 過小
Qcache_hits / Qcache_insertsGlobal查詢緩存命中率。低命中且 Qcache_lowmem_prunes 高 → 擴容 query_cache_size 或關閉 QC(高併發寫入場景)
Select_scanSession/Global全表掃描連接數。> 0 需檢查索引設計
Slow_queriesSession/Global慢查詢累計。配合慢查詢日志定期分析 Top SQL
Sort_merge_passesSession/Global歸併排序次數。> 0 → 調大 sort_buffer_size
Table_locks_waitedGlobal表鎖等待數。高併發 MyISAM 場景關注,InnoDB 行鎖為主
Threads_createdGlobal歷史創建線程數。增長快 → 調大 thread_cache_size,目標 Threads_created/Connections < 0.1
Com_select / Com_insert / Com_update / Com_deleteGlobal核心 DML 吞吐基線,用於容量規劃與異常突變告警

實戰監控儀表盤建議

  1. 紅色告警(立即響應):Aborted_connects 激增、Innodb_buffer_pool_wait_free > 0、Slave_IO_Running/SQL_Running != Yes
  2. 橙色預警(15 分鐘內處理):Buffer Pool 命中率 < 99%、Created_tmp_disk_tables 佔比 > 20%、Threads_created 斜率陡增
  3. 藍色觀察(日常巡檢):Com_* 趨势、Handler_read_rnd_next、Sort_merge_passes、Qcache_lowmem_prunes

建議將核心 30~50 指標接入 Prometheus + Grafana,建立基線畫像,實現「知其然更知其所以然」的數據庫可觀測體系。

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