雅虎開源的MySQL性能分析器:MySQL Performance Analyzer

MySQL性能分析器是一個MySQL性能監控和分析的開源項目。它包括兩個子項目:Java web應用項目myperf和Java web服務器jetty wrapper。

MySQL性能分析器是一個Java Maven項目。JDK和Maven3.0是構建時必須的。

盡管JDK8在pom.xml中已包含,這個項目用不到Java8的特性,所以用戶可以自行修改這兩個子項目的pom.xml文件來應用不同的JDK版本。比如,構建主機如果只有JDK7,修改myperf/pom.xml文件,將以下內容:

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

to 更改為

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

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

       安裝和使用說明

  1. Requirement: Java JDK 8, or the one specified by in pom.xml if changed during build time.
        需要的軟件:Java JDK8,或者在pom.xml文件中修改的版本。

  2. 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.
    解壓縮文件myperfserver-server.zip到安裝目錄。如果在Windows中安裝,請先預覽兩個shell腳本并在環境變量中相應添加。

  3. 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.
    對于一般安裝,需要安裝MySQL數據庫用于存儲。否則,可以使用內置的derby數據庫。a.在數據庫服務器中創建數據庫,比如命名為metrics。b.創建一個MySQL用戶(比如, 'metrics'@'my_host'->這里的my_host是你將要進行分析的主機)具有全部權限。c.上面的信息在首次登陸到分析器進行設置時需要用到。

  4. 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.
    查看start_myperf.sh腳本看是否你需要修改命令行中的設置。通常,端口號是你唯一需要修改的地方,參數 -j: jettyHome,不用修改;參數 -p: http 端口, 默認為9092;參數-w:war(web壓縮),必須是myperf.war; 參數-k:工作目錄,如果沒有修改,將使用./work; 參數-c:url內容, 默認跳轉到/myperf目錄,保留不變即可。

    Modify java command path inside start_myperf.sh, if needed.
        如果需要,在文件start_myperf.sh中修改java命令的path目錄

  5. Start up: ./start_myperf.sh Check nohup.out and logs directory for any error logs.
        開始命令:./start_myperf.sh,注意檢查nohup.out文件和日志目錄的錯誤日志

  6. Shutdown: ./stop_myperf.sh
       關閉命令:./stop_myperf.sh

  7. 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.
    在第一次安裝啟動后登陸時,用瀏覽器打開http://your_host:9092/myperf (或者你設定的其他端口)。初始用戶名和密碼是myperf/change。

After login, you will be directed to setup page:
   
登陸后,你會被重定向到安裝設置頁面:

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

  1. 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)
    對于每一個你要監控的數據庫服務器,你需要創建具有以下權限的用戶:a.process b.復制客戶端 c.顯示數據庫 d.顯示視圖 e.選擇全部(如果你想用它檢查數據目錄或者運行說明計劃)

  2. The analyzer relies on Linux SNMP to gather OS level data. Check snmpd service status.
        分析器需要依賴于Linux SNMP服務來搜集系統級別的數據。檢查snmpd服務是否可用。

Known Limitations
   
已知到限制

  1. snmpd is based on the Linux specification.
    snmpd是基于linux規范。
  2. Email notification uses Linux's "mailx" command.
    電子郵件提醒使用Linux的“mailx”命令。


項目主頁:
http://www.baiduhome.net/lib/view/home/1432277484364


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!