http://hackmysql.com/ 自己的站上寫了滿多很有參考價值的 MySQL 技術文章,尤其是有些很細節的底層運作在一般的書上跟本找不到相關資料,那些好像都是 Daniel Nichter 自己看 source code 才了解的。而且他還把自己開發出來的Script拿出來分享,要是一般人誰會把這麼有價值的Script丟出來?
mysqlreport
http://forum.slime.com.tw/thread208416.html
mysqlsla
http://forum.slime.com.tw/thread208903.html
搭配 crontab 每周寄送給 DBA 是個不錯的方法...
有需要找 MySQL 分析工具的朋友~
http://hackmysql.com/ 真的要去看一下,會有滿大的收獲。
底下文章轉帖自: http://forum.slime.com.tw/thread208416.html
管理 MySQL 最讓人困擾的就是如何有效的掌握 MySQL 的健康狀況,因為 MySQL 雖然有提供許多系統變數值供您參考,但這些零散的數據若要手動搜集與過濾將會是一件十分沒有效率的事情(除非您寫 Scripts 去分析)。而接下來要介紹的這套 "工具" 其實是由 hackmysql.com 的站長所撰寫的 Perl Scritps,旨在協助 MySQL DBA 搜集與分析 MySQL 的運作狀況。
軟體下載:
mysqlreport
這份文件有很大部份是參考 Daniel Nichter 的 mysqlreport Guide(http://hackmysql.com/mysqlreportguide),但不完全是翻譯,裡面加入了一些我覺得可能會對讀者有幫助的資料,並刪除了部份我認為會對讀者產生混淆的資訊。小弟的功力不足,也許會有所錯誤,若是您發現我有地方寫錯了也請您不吝指正,謝謝。
接下來本文開始:
mysqlreport 可將重要的 MySQL 系統資訊整理為具有較高可讀性的報表,使你更容易閱讀與深入理解目前 MySQL 的實際運作狀況。除了手動執行 SHOW STATUS 指令並以人眼去過濾與判斷目前的系統狀態以外,mysqlreport 大概是較好(八成也是唯一)的替代方案。
目前的 mysqlreport 版本可以產生大量、具有完善資訊的報表,其報表完整的覆蓋了實務上所有重要的 MySQL 系統資訊,也可以產生只具有最重要資訊的較精簡報表。完整的報表包含了 14 種不同面向,超過 121 行的完整資訊;精簡的報表包含了 6 種不同面向,總計 29 行的最重要資訊。
此文件可教導您如何解讀 mysqlreport 所產生出來的各項資訊。如此一來,當您在閱讀 mysqlreport 所產生出來的報表時,您才可以回答最重要的問題:『MySQL Server 目前的運作狀況究竟如何?』
為了讓您有較深入的理解,此文件將從報表的第一行開始逐項的解釋,當您閱讀完此文件後,您應該具有完整的知識可以將 mysqlreport 佈署在任何 Server 上,並且有效的掌握 MySQL Server 的運作實況。
在開始之前,這裡有一份範例報表,我們將以此份報表為藍本開始進行教學。
(建議您將此報表列印出來和內文對照看,這樣子會比較容易理解文章內容)
引用:
1 MySQL 5.0.3 uptime 0 0:34:26 Fri Sep 1 19:46:02 2006
2
3 __ Key _________________________________________________________________
4 Buffer used 380.00k of 512.00M %Used: 0.07
5 Current 59.32M %Usage: 11.59
6 Write ratio 0.93
7 Read ratio 0.00
8
9 __ Questions ___________________________________________________________
10 Total 98.06k 47.46/s
11 DMS 81.23k 39.32/s %Total: 82.84
12 QC Hits 16.58k 8.02/s 16.91
13 COM_QUIT 200 0.10/s 0.20
14 Com_ 131 0.06/s 0.13
15 -Unknown 82 0.04/s 0.08
16 Slow 0 0.00/s 0.00 %DMS: 0.00
17 DMS 81.23k 39.32/s 82.84
18 SELECT 64.44k 31.19/s 65.72 79.33
19 INSERT 16.75k 8.11/s 17.08 20.61
20 UPDATE 41 0.02/s 0.04 0.05
21 REPLACE 0 0.00/s 0.00 0.00
22 DELETE 0 0.00/s 0.00 0.00
23 Com_ 131 0.06/s 0.13
24 change_db 119 0.06/s 0.12
25 show_fields 9 0.00/s 0.01
26 show_status 2 0.00/s 0.00
27
28 __ SELECT and Sort _____________________________________________________
29 Scan 38 0.02/s %SELECT: 0.06
30 Range 14 0.01/s 0.02
31 Full join 3 0.00/s 0.00
32 Range check 0 0.00/s 0.00
33 Full rng join 0 0.00/s 0.00
34 Sort scan 14 0.01/s
35 Sort range 26 0.01/s
36 Sort mrg pass 0 0.00/s
37
38 __ Query Cache _________________________________________________________
39 Memory usage 17.81M of 32.00M %Used: 55.66
40 Block Fragmnt 13.05%
41 Hits 16.58k 8.02/s
42 Inserts 48.50k 23.48/s
43 Prunes 33.46k 16.20/s
44 Insrt:Prune 1.45:1 7.28/s
45 Hit:Insert 0.34:1
46
47 __ Table Locks _________________________________________________________
48 Waited 1.01k 0.49/s %Total: 1.24
49 Immediate 80.04k 38.74/s
50
51 __ Tables ______________________________________________________________
52 Open 107 of 1024 %Cache: 10.45
53 Opened 118 0.06/s
54
55 __ Connections _________________________________________________________
56 Max used 77 of 600 %Max: 12.83
57 Total 202 0.10/s
58
59 __ Created Temp ________________________________________________________
60 Disk table 10 0.00/s
61 Table 26 0.01/s
62 File 3 0.00/s
63
64 __ Threads _____________________________________________________________
65 Running 55 of 77
66 Cache 0 %Hit: 0.5
67 Created 201 0.10/s
68 Slow 0 0.00/s
69
70 __ Aborted _____________________________________________________________
71 Clients 0 0.00/s
72 Connects 8 0.00/s
73
74 __ Bytes _______________________________________________________________
75 Sent 38.46M 18.62k/s
76 Received 7.98M 3.86k/s