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

MySQL 狀態監控核心指令:連接數、執行緒、查詢統計一覽

     編輯:MySQL 資料庫相關知識

掌握 SHOW PROCESSLIST 與 SHOW STATUS 兩大指令,即可掌握 MySQL 即時負載與歷史統計全貌。

1. 即時連線與執行緒:SHOW PROCESSLIST

-- 進入命令列
mysql -uroot -p

-- 查看前 100 條連線
SHOW PROCESSLIST;

-- 查看完整連線(含完整 SQL 文本)
SHOW FULL PROCESSLIST;
  • root 可見所有使用者連線;普通帳號僅見自身
  • 關鍵欄位:Id、User、Host、db、Command、Time、State、Info
  • Command 常見值:Sleep(閒置)、Query(執行中)、Locked(鎖等待)

2. 累計狀態計數器:SHOW STATUS

SHOW STATUS;                    -- 全部變數
SHOW STATUS LIKE 'Threads_%';   -- 模糊匹配

核心監控指標分類

類別關鍵變數含義
連接Connections嘗試連接總次數
Max_used_connections歷史峰值同時連接數
Threads_connected當前開啟連接數
執行緒Threads_running非睡眠執行緒數(實際負載)
Threads_created建立執行緒總數(若持續增長說明 thread_cache_size 過小)
Threads_cached緩存中閒置執行緒數
查詢Questions發送給 Server 的查詢總數
Slow_queries超過 long_query_time 的查詢數
Com_select / Com_insert / Com_update / Com_delete各類 DML 執行計數
Qcache_hits / Qcache_inserts查詢快取命中/插入(已於 8.0 移除)
InnoDBInnodb_buffer_pool_read_requests / reads緩衝池讀請求/磁碟讀(計算命中率)
Innodb_rows_inserted / updated / deleted / read行級操作計數
Innodb_buffer_pool_wait_free等待緩衝池釋放頁面次數(非零表示壓力大)
其他Uptime服務運行秒數
Aborted_clients / Aborted_connects非正常斷開/連接失敗計數
Open_tables / Opened_tables當前開啟/歷史開啟表數(調整 table_open_cache 參考)
Key_read_requests / Key_readsMyISAM 索引快取命中/磁碟讀

實戰監控腳本建議

  • 定期抓取 Threads_running、Slow_queries、Innodb_buffer_pool_wait_free 寫入時序資料庫
  • 設定告警閾值:Threads_running > CPU核心數 * 2、Slow_queries 環比激增
  • 搭配 pt-stalk 或 mysqladmin ext -i1 進行高頻採樣
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved