Yahoo的MySQL效能分析器詳解,yahoomysql分析器

來源:互聯網
上載者:User

Yahoo的MySQL效能分析器詳解,yahoomysql分析器
Yahoo的MySQL效能分析器詳解作者:chszs,轉載需註明。部落客頁:http://blog.csdn.net/chszs一、介紹

Yahoo於前日開源了自己的MySQL效能分析器(MySQL Performance Analyzer),源碼託管在GitHub。此效能分析器使用Maven構建,需要JDK 8和Maven 3.0。

此效能分析器項目包含了兩個子項目:
1)Java Web應用項目:myperf
2)Jetty Web伺服器項目:jetty wrapper

雖然項目在pom.xml配置中指明要使用JDK 8,但其實源碼並未使用JDK 8的語言特性,因此修改此pom.xml,改為JDK 7也能正常構建並運行。即把

<source>1.8</source><target>1.8</target>

改成

<source>1.7</source><target>1.7</target>

目前Yahoo開源的MySQL效能分析器不包含可視化輸出,地址:https://github.com/yahoo/mysql_perf_analyzer

Yahoo的效能分析器項目可以用於MySQL的效能監控和分析。

Build過程預設會在目錄perfJettyServer/target下建立一個名為myperfserver-server.zip的檔案。要構建它的話,在頂層目錄執行命令:

mvn clean package
二、MySQL效能分析器的安裝及用法

1、根據前面產生的myperfserver-server.zip檔案,解壓它。

2、預設情況下,此效能分析器會把測試資料也存放在MySQL。所以需要為它建立一個資料庫及相關使用者。
1)建立一個資料庫,名為metrics
2)建立MySQL使用者,名為’metrics’@’my_host’
3)分配許可權,要能擁有此資料庫的所有許可權
注意,如果不使用MySQL,那麼就會使用內建的Derby資料庫。

3、查看指令碼start_myperf.sh,看是否需要調整。
通常可能會修改連接埠號碼
-j: jettyHome
-p: http port,預設使用9092連接埠
-w: war,這個必須是myperf.war
-k: working directory,工作目錄,如果未指定,將會使用./work目錄
-c: url context,URL上下文,預設是/myperf
還要注意修改Java命令列的路徑。

4、啟動

# ./start_myperf.h

檢查nohup.out和log目錄,看是否有任何錯誤記錄檔。

5、關閉

# ./stop_myperf.sh

6、初次開機並登陸
瀏覽器訪問 http://your_host:9092/myperf
初始使用者名稱和密碼為:myperf/change
登陸後,可以看到設定頁面。
可以添加Email地址以便收到通知。

7、配置完成後,可以啟動掃描器Scanner
點擊Start Scanner按鈕
要注意,每次修改了配置後,都需要重啟掃描器。
如果掃描器的工作未達到預期,重啟分析器:

# ./stop_myperf.sh# ./start_myperf.sh

對於想監控的每個資料庫,都需要建立一個MySQL使用者,並分配以下的許可權:
1)process許可權
2)replication client許可權
3)show databases許可權
4) show view許可權
5)select語句的所有許可權

8、分析器依賴Linux的SNMP來收集OS底層的資料,故需檢查snmpd服務的狀態,看是否啟動。

三、注意事項

有兩點需注意,
1、snmpd基於Linux規範
2、郵件通知使用了Linux的mailx命令

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.