top、iostat檢視cpu/io情況
慢查詢日誌+explain
獲取資料庫的各種執行狀態,如」show engine innodb status」, 查詢information_schema庫里的innodb_trx、processlist等狀態表
tcpdump
strace
# top -d0.5 -c
以0.5秒頻率重新整理,檢視mysql的cpu使用情況,主要是看下cpu佔用率。
# iostat -txm 1
觀察磁碟使用情況,util使用率越高,表示磁碟越繁忙
慢查詢日誌slowlog,使用mysqldumpslow可以統計分析出最消耗時間的topn。
得到具體語句後,使用explain進行分析,進而得到優化方法。
檢視所有連線的運**況
mysql> show full processlist;
或者
mysql> select * from information_schema.processlist;
檢視innodb的實時狀態,關注cache命中率、讀寫次數、有無死鎖等
mysql> show engine innodb status \g
檢視事務運**況
mysql> select * from information_schema.innodb_trx;
# tcpdump host 10.4.12.8 and port 3306 -i eth0 -w 10.4.12.8.pcap
strace —— 檢視程序的系統呼叫
例如:
# strace -p 12345
# 12345為目標程序pid
mysql 效能分析 mysql效能分析工具
一 expalin 在sql語句之前加上explain關鍵字就可以獲取這條sql語句執行的計畫 那麼返回的這些欄位是什麼呢?我們先關心一下比較重要的幾個字段 1.select type 查詢型別 1 簡單查詢,沒有union和子查詢 2 priamry 主查詢,有union或子查詢的最外層查詢 3 ...
mysql效能log分析工具
啟用slow log 有兩種啟用方式 1,在my.cnf 裡通過 log slow queries file name 2,在 mysqld 程序啟動時,指定 log slow queries file name 選項 比較的五款常用工具 mysqldumpslow,mysqlsla,myprofi...
mysql慢查詢分析工具
pt query digest 慢查詢檢視工具 set profiling 1 開啟後會將每一條sql語句的執行時間記錄到一張臨時表。show profiles 檢視的所有查詢記錄 show profile for query 臨時表query id 檢視具體某條語句的執行時間 show statu...