簡介:mysql
MySQLReportsql
1、安裝shell
shell > yum -y install mysqlreport perl-DBD-MySQL
2、使用數據庫
shell > mysqlreport --user xxxx --password xxxx --socket /tmp/mysql.sock --flush-status --outfile 20180208.report MySQL 5.5.52-log uptime 17 15:43:7 Wed Feb 7 11:25:42 2018 # MySQL 版本,運行時間 ( 分析時,MySQL 最好已經運行一段時間,不然數據不許確 ) __ Key _________________________________________________________________ Buffer used 2.44G of 3.00G %Used: 81.30 # Buffer 曾經最大使用內存量、率 Current 3.00G %Usage: 100.00 # 當前使用量、率,能夠看到 Key_buffer_size 設過小了 Write hit 66.70% # ? Read hit 99.90% # ? # MyISAM 存儲引擎 Share (Key、Index) Buffer 相關參數。重要 !!! # Buffer used 使用率是不會超過 95% 的,官方文檔說 Share Key Buffer 會將一部份內存給內部數據結構使用, # 因此當 Buffer used 使用率達到 95% 時,實際已經達到 100% 了。 __ Questions ___________________________________________________________ Total 1.14G 744.6/s # MySQL 總共響應過多少查詢,響應頻率(QPS) DMS 1.01G 659.7/s %Total: 88.59 # Data Manipulation Statements 數據處理語句總數、QPS、佔全部查詢百分比。 -Unknown 698.58M 458.0/s 61.50 Com_ 647.54M 424.5/s 57.01 COM_QUIT 180.60M 118.4/s 15.90 Slow 2 s 344.25k 0.2/s 0.03 %DMS: 0.03 Log: ON # 慢查詢次數,%DMS 0.03 表明慢查詢在DMS語句中的百分比,不要大於 0.05 DMS 1.01G 659.7/s 88.59 # 這下面是各分類統計狀況,若是開啓查詢緩存還會有 QC Hits 這個類別 SELECT 774.87M 508.0/s 68.22 77.00 # 最後一個字段是子類別對分類的百分比 UPDATE 184.24M 120.8/s 16.22 18.31 INSERT 40.54M 26.6/s 3.57 4.03 REPLACE 3.91M 2.6/s 0.34 0.39 DELETE 2.73M 1.8/s 0.24 0.27 Com_ 647.54M 424.5/s 57.01 begin 231.41M 151.7/s 20.37 commit 231.41M 151.7/s 20.37 set_option 175.92M 115.3/s 15.49 # 查看 MySQL 到底在作什麼。重要 !!! # 會有五個分類:DMS (Data Manipulation Statements)、QC Hits、COM_QUIT、all other Com_commands、Unknown # 順序是按第一個字段值排序的,若是 DMS、QC Hits 最靠前且百分比很高,說名是個很好的現象。 __ SELECT and Sort _____________________________________________________ Scan 32.45M 21.3/s %SELECT: 4.19 # SELECT 語句形成的全變掃描 Range 29.97M 19.6/s 3.87 # 範圍掃描 Full join 11.69k 0.0/s 0.00 # 錶鏈接 Range check 0 0/s 0.00 Full rng join 0 0/s 0.00 Sort scan 55.50M 36.4/s # 全表掃描排序 Sort range 137.91M 90.4/s # 範圍掃描排序 Sort mrg pass 0 0/s # 從在這裏能夠看出一些性能上的問題,全表掃描、錶鏈接、排序等。 # 這些都要特定分析,例如掃描: 若是表只有幾十行跟有幾百萬行產生的影響確定不同。 __ Table Locks _________________________________________________________ Waited 43.15M 28.3/s %Total: 3.82 # 等待表鎖的次數、百分比,大於 10% 則表示索引設計不良或慢查詢太多 Immediate 1.09G 712.4/s # 不須要等待,能夠當即得到鎖的次數 # 表鎖相關,Waited 越低越好。 __ Tables ______________________________________________________________ Open 1024 of 1024 %Cache: 100.00 # 目前表打開的數量、最大打開數、table_open_cache 使用率 Opened 4.03M 2.6/s # 表平均打開次數,該值越大說明 table_open_cache 過小,須要調大 # 表緩存,若是 %Cache 爲 100,那麼能夠嘗試調大 table_open_cache (table_cache) 該值 __ Connections _________________________________________________________ Max used 3001 of 3000 %Max: 100.03 # 當前鏈接數,最大鏈接數,百分比 Total 180.64M 118.4/s # MySQL Server 數據處理是很快的,最大鏈接數其實不是越大越好 # 根本緣由多是慢查詢、不合適的索引、DNS 解析等致使數據庫處理速度降低,從而拉高最大鏈接數 __ Created Temp ________________________________________________________ Disk table 8.51M 5.6/s # 使用磁盤存放臨時表的數量、百分比 Table 74.84M 49.1/s Size: 128.0M # 當使用磁盤存放臨時表時,能夠適當調高 tmp_table_size File 7 0.0/s # 臨時表,使用臨時表原本就是個很差的事情,而使用磁盤存儲更差,因此 Disk table 應該足夠小。 # 增長臨時表內存大小、優化 SQL,減小臨時表發生 __ Threads _____________________________________________________________ Running 4 of 9 # 運行中的線程數,最大線程數 Cached 6 of 8 %Hit: 92.24 # 線程緩存數,最大線程緩存數,線程緩存命中率 Created 14.02M 9.2/s # 建立的線程數,每秒,越小越好,說明緩存命中 Slow 0 0/s # 線程緩存,MySQL 啓動時會建立幾個線程,而後讓鏈接複用,%Hit 越大越好,不然調整 thread_cache_size __ Aborted _____________________________________________________________ Clients 71.49k 0.0/s Connects 4.30M 2.8/s # 中斷 __ Bytes _______________________________________________________________ Sent 404.50G 265.2k/s Received 207.22G 135.9k/s # 流量 __ InnoDB Buffer Pool __________________________________________________ Usage 1021.81 of 1.00G %Used: 99.79 # 緩衝命中率,越大越好 Read hit 100.00% Pages Free 140 %Total: 0.21 Data 60.55k 92.40 %Drty: 0.06 Misc 4842 7.39 Latched 0.00 Reads 164.05G 107.5k/s # 讀 From file 503.62k 0.3/s 0.00 Ahead Rnd 0 0/s Ahead Sql 0/s Writes 112.11M 73.5/s # 寫 Flushes 9.26M 6.1/s # 刷新 Wait Free 0 0/s # 等待 # InnoDB 緩衝池,若是是一個 InnoDB 存儲引擎的數據庫,該值越大越好 __ InnoDB Lock _________________________________________________________ Waits 0 0/s Current 0 Time acquiring Total 0 ms Average 0 ms Max 0 ms # InnoDB 鎖,零更好 __ InnoDB Data, Pages, Rows ____________________________________________ Data Reads 535.37k 0.4/s Writes 16.00M 10.5/s fsync 8.78M 5.8/s Pending Reads 0 Writes 0 fsync 0 Pages Created 165.06k 0.1/s Read 922.49k 0.6/s Written 9.26M 6.1/s Rows Deleted 2.32M 1.5/s Inserted 7.41M 4.9/s Read 70.18G 46.0k/s Updated 1.04M 0.7/s