閱讀943 返回首頁    go 阿裏雲 go 技術社區[雲棲]


P6Spy & SQL Profiler & IronTrack SQL

https://yulimin.javaeye.com/blog/28880

關鍵字: Hibernate   Spring P6Spy SQL Profiler IronTrack SQL    
“Nearly 80 to 85 percent of database performance problems arise from the application database's design or the application's own code. Good transaction throughput requires an application designed from the database up, with performance and scalability in mind.”
----DB2 Magazine

P6Spy & SQL Profiler & IronTrack SQL

P6Spy是一個可以用來在應用程序中攔截和修改數據操作語句的開源框架。
通過P6Spy我們可以對SQL語句進行攔截,相當於一個SQL語句的記錄器,這樣我們可以用它來作相關的分析,比如性能分析。

一、P6Spy的安裝與使用
1、從 https://www.p6spy.com/ 下載P6Spy的文件包,也可以下載它的源文件包來研究;
2、把P6Spy的jar包p6spy.jar放到classpath中,如果是Web應用程序則放在YourWebApp/WEB-INF/lib/目錄下;
3、把spy.properties放到classes目錄下,如果是webapp就放在YourWebApp/WEB-INF/classess/目錄下,記得不是lib/目錄
4、修改你程序的數據庫驅動名稱為P6Spy的驅動程序名稱com.p6spy.engine.spy.P6SpyDriver其它的都不用更改;
5、打開spy.properties文件,把realdriver的值改為你的程序的數據庫驅動名稱;
6、運行你的應用程序或Web應用程序,可以在spy.log裏看到監測到的sql詳細記錄信息了。
7、驅動程序加載先後的問題解決
  如果spy.log裏出現
  你的程序的數據庫驅動名稱 is a real driver in spy.properties, but it has been loaded before p6spy. p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties
  請把spy.properties文件裏的deregisterdrivers=false改為deregisterdrivers=true,重新運行即可。

二、結合SQL Profiler進行圖形化監控與使用
1、從 https://www.jahia.net/ 下載SQL Profiler的文件包進行安裝;
2、把p6spy.jar及sqlprofiler.jar放到classpath中,如果是Web應用程序則放在YourWebApp/WEB-INF/lib/目錄下;
3、把spy.properties放到classes目錄下,如果是webapp就放在YourWebApp/WEB-INF/classess/目錄下,記得不是lib/目錄
4、修改你程序的數據庫驅動名稱為P6Spy的驅動程序名稱com.p6spy.engine.spy.P6SpyDriver其它的都不用更改;
5、打開spy.properties文件,把realdriver的值改為你的程序的數據庫驅動名稱;
6、注意要先運行 java -jar sqlprofiler.jar 來啟動SQL Profiler,並成功看到啟動後界麵;
7、然後再啟動你的應用程序或服務器,並開始進行正常的係統請求處理操作;
8、這樣可以在SQL Profiler圖形化的界麵上看到結果並進行分析了。
並且可以通過保存按鈕導出數據庫優化建議的索引腳本

三、結合IronTrack SQL進行圖形化監控與使用
1、從 https://www.irongrid.com/ironeyesql 下載IronTrack SQL的文件包進行安裝;
2、把irontracksql.jar、p6spy.jar、log4j-1.2.8.jar放到classpath中,如果是Web應用程序則放在YourWebApp/WEB-INF/lib/目錄下;
3、把spy.properties放到classes目錄下,如果是webapp就放在YourWebApp/WEB-INF/classess/目錄下,記得不是lib/目錄
4、修改你程序的數據庫驅動名稱為P6Spy的驅動程序名稱com.p6spy.engine.spy.P6SpyDriver其它的都不用更改;
5、打開spy.properties文件,把realdriver的值改為你的程序的數據庫驅動名稱;
6、設置監聽端口號monitorport=2000
6、先運行 java -jar irontracksql.jar 來啟動IronTrack SQL;
7、再啟動你的應用程序或服務器;
8、可以在 IronTrack SQL 圖形化的界麵上看到結果並進行分析了。 

最後更新:2017-04-02 00:06:15

  上一篇:go 很幽默的講解六種Socket I/O模型
  下一篇:go Spring實時統計與監控Spring-Dashboard及Spring集群Terracotta for Spring