MySQL Performance Analyzer is an open source project for MySQL performance monitoring and analysis. This repository includes two sub projects: Java web application project myperf Java web server jetty wrapper
MySQL性能分析器是一個MySQL性能監控和分析的開源項目。它包括兩個子項目:Java web應用項目myperf和Java web服務器jetty wrapper。
MySQL Performance Analyzer is a Java Maven project. JDK and Maven 3.0 or later are required to build it.
MySQL性能分析器是一個Java Maven項目。JDK和Maven3.0是構建時必須的。
Although JDK 8 is specified in pom.xml, this project does not use Java 8 specific features, so the user can modify pom.xml files of the two sub projects to use different JDK version. For example, if the build host only has JDK 7, modify the file myperf/pom.xml, change the lines
盡管JDK8在pom.xml中已包含,這個項目用不到Java8的特性,所以用戶可以自行修改這兩個子項目的pom.xml文件來應用不同的JDK版本。比如,構建主機如果只有JDK7,修改myperf/pom.xml文件,將以下內容:
1.8
1.8
to 更改為
1.7
1.7
The build will create a zip file named as myperfserver-server.zip under directory perfJettyServer/target. To build it, at top level, run
構建時會在perfJettyServer/target目錄下生成一個zip文件:myperfserver-server.zip。准備構建,在最頂層,運行命令:
mvn clean package
Installation and Usage Instructions
安裝和使用說明
Requirement: Java JDK 8, or the one specified by in pom.xml if changed during build time.
需要的軟件:Java JDK8,或者在pom.xml文件中修改的版本。
Unzip myperfserver-server.zip to the desired installation directory. If you intend to install on Windows host, please review two shell scripts and create Windows equivalent.
For a more formal installation, it is recommended to have a MySQL database server to store the metrics. Otherwise, use the built-in derby db. a. Create a database, for example, named as metrics, with the MySQL database server. b. Create a MySQL user (for example, 'metrics'@'my_host' -> here my_host is the machine where you MySQL perf analyzer) with all privileges on above schema. c. The above information will be required when you first login to the analyzer to setup metrics gathering.
Review script start_myperf.sh to see if you need to modify any command line settings. Usually, port number is the only one you need change -j: jettyHome, leave it as it is -p: http port to be used, 9092 by default -w: war (web archive) file, has to be myperf.war -k: working directory, if not specified, it will use ./work -c: url context, default to /myperf, leave it as is.
Modify java command path inside start_myperf.sh, if needed.
如果需要,在文件start_myperf.sh中修改java命令的path目錄
Start up: ./start_myperf.sh Check nohup.out and logs directory for any error logs.
開始命令:./start_myperf.sh,注意檢查nohup.out文件和日志目錄的錯誤日志
Shutdown: ./stop_myperf.sh
關閉命令:./stop_myperf.sh
First time Login and Setup After startup, point your browser to http://your_host:9092/myperf (or the port number you changed). The initial login user and credential are myperf/change.
You can add an email address for notifications. The email uses OS "mailx" command.
你可以添加提醒的email地址。郵件使用"mailx"系統命令。
Configure the metrics storage database, using the one that you created in the earlier steps. A metrics scan interval of 1 or 5 minutes should be good enough.
配置存儲數據庫,使用之前步驟創建的那個數據庫。一個掃描周期設置為1到5分鐘正好合適。
If use built-in derbydb, choose short retention days.
如果使用內置derbydb數據庫,保留日期要縮短。
After configuration is done, you need to start the scanner ("Start Scanner" button on top of the page).
配置完畢後,你可以開始掃描(“Start Scanner”按鈕在頁面頂部)。
Everytime you change the configuration, you need to restart the scanner.
每次改變配置後,你需要重啟掃描器。
If the scanner does not work as expected, restart the analyzer ./stop_myperf.sh then ./start_myperf.sh
如果掃描器未正常工作,重啟分析器,使用命令:./stop_myperf.sh then ./start_myperf.sh
For each database server you want to monitor, you need to create a MySQL user with the following privileges: a. process b. replication client c. show databases d. show view e. select on all (if you want to use it to check data dictionary or run explain plans)