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也能正常構建並運行。即把
1.8 1.8
改成
1.7 1.7
目前Yahoo開源的MySQL性能分析器不包含可視化輸出,地址:https://github.com/yahoo/mysql_perf_analyzer
Yahoo的性能分析器項目可以用於MySQL的性能監控和分析。
Build過程默認會在目錄perfJettyServer/target下創建一個名為myperfserver-server.zip的文件。要構建它的話,在頂層目錄執行命令:
mvn clean package
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命令
使用 show variables like charact
【MySQL】(1)初涉MySQL 1. MySQL目錄
(18)mysql中的分區(開發篇完) 概述 之前,看到
以下的文章漢族要講述的是MySQLGROUP_CONCAT
【Mysql】求出離最近相差X天的項,sql語句關於日期的比
關系型數據庫基本概念及MySQL簡述 關系型數據庫基本概