Yahoo 開源 MySQL 性能分析工具
MySQL性能分析器是一個MySQL性能監(jiān)控和分析的開源項目。它包括兩個子項目:Java web應用項目myperf和Java web服務器jetty wrapper。
MySQL性能分析器是一個Java Maven項目。JDK和Maven3.0是構建時必須的。
盡管JDK8在pom.xml中已包含,這個項目用不到Java8的特性,所以用戶可以自行修改這兩個子項目的pom.xml文件來應用不同的JDK版本。比如,構建主機如果只有JDK7,修改myperf/pom.xml文件,將以下內(nèi)容:
1.8 1.8
更改為
1.7 1.7
構建時會在perfJettyServer/target目錄下生成一個zip文件:myperfserver-server.zip。準備構建,在最頂層,運行命令:
- mvn clean package
- Installation and Usage Instructions
安裝和使用說明
需要的軟件:Java JDK8,或者在pom.xml文件中修改的版本。
解壓縮文件myperfserver-server.zip到安裝目錄。如果在Windows中安裝,請先預覽兩個shell腳本并在環(huán)境變量中相應添加。
對于一般安裝,需要安裝MySQL數(shù)據(jù)庫用于存儲。否則,可以使用內(nèi)置的derby數(shù)據(jù)庫。a.在數(shù)據(jù)庫服務器中創(chuàng)建數(shù)據(jù)庫,比如命名為metrics。b.創(chuàng)建一個MySQL用戶(比如, 'metrics'@'my_host'->這里的my_host是你將要進行分析的主機)具有全部權限。c.上面的信息在***登陸到分析器進行設置時需要用到。
查看start_myperf.sh腳本看是否你需要修改命令行中的設置。通常,端口號是你唯一需要修改的地方,參數(shù) -j: jettyHome,不用修改;參數(shù) -p: http 端口, 默認為9092;參數(shù)-w:war(web壓縮),必須是myperf.war; 參數(shù)-k:工作目錄,如果沒有修改,將使用./work; 參數(shù)-c:url內(nèi)容, 默認跳轉(zhuǎn)到/myperf目錄,保留不變即可。
如果需要,在文件start_myperf.sh中修改java命令的path目錄
開始命令:./start_myperf.sh,注意檢查nohup.out文件和日志目錄的錯誤日志
關閉命令:./stop_myperf.sh
在***次安裝啟動后登陸時,用瀏覽器打開http://your_host:9092/myperf (或者你設定的其他端口)。初始用戶名和密碼是myperf/change。
登陸后,你會被重定向到安裝設置頁面:
你可以添加提醒的email地址。郵件使用"mailx"系統(tǒng)命令。
配置存儲數(shù)據(jù)庫,使用之前步驟創(chuàng)建的那個數(shù)據(jù)庫。一個掃描周期設置為1到5分鐘正好合適。
如果使用內(nèi)置derbydb數(shù)據(jù)庫,保留日期要縮短。
配置完畢后,你可以開始掃描(“Start Scanner”按鈕在頁面頂部)。
每次改變配置后,你需要重啟掃描器。
如果掃描器未正常工作,重啟分析器,使用命令:./stop_myperf.sh then ./start_myperf.sh
對于每一個你要監(jiān)控的數(shù)據(jù)庫服務器,你需要創(chuàng)建具有以下權限的用戶:a.process b.復制客戶端 c.顯示數(shù)據(jù)庫 d.顯示視圖 e.選擇全部(如果你想用它檢查數(shù)據(jù)目錄或者運行說明計劃)
分析器需要依賴于Linux SNMP服務來搜集系統(tǒng)級別的數(shù)據(jù)。檢查snmpd服務是否可用。
已知的限制
snmpd是基于linux規(guī)范。
電子郵件提醒使用Linux的“mailx”命令。
許可
代碼的許可在Apache許可之下。查看許可文件查看詳情。