P6Spy
1.下载p6spy-install.zip
2.将p6spy.jar放到应用的lib目录下,将spy.properties放到WEB-INF\classes目录下
3.修改spy.properties样本的第42行,改为对应驱动,(#部分可以不管)
realdriver=net.sourceforge.jtds.jdbc.Driver
修改spy.properties样本的第54行,封闭缺省的MYSQL驱动:
# the mysql open source driver
# realdriver=org.gjt.mm.mysql.Driver
修改spy.properties样本的第168行,将spy.log放到比较好找的位置:
logfile = E:/spy.log
4.驱动程序加载先后的问题解决
如果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,重新运行即可。
5.在spring配置文件中配置如下:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- <property name="driverClass"><value>net.sourceforge.jtds.jdbc.Driver</value></property> -->
<property name="driverClass"><value>com.p6spy.engine.spy.P6SpyDriver</value></property>
<property name="jdbcUrl"><value>${read.jdbcUrl}</value></property>
<property name="user"><value>${read.user}</value></property>
<property name="password"><value>${read.password}</value></property>
<property name="minPoolSize"><value>10</value></property>
<property name="maxPoolSize"><value>30</value></property>
<property name="initialPoolSize"><value>10</value></property>
<property name="maxIdleTime"><value>28000</value></property>
<property name="idleConnectionTestPeriod"><value>28000</value></property>
</bean>
6看日志是否有记录,完成
SQL Profiler
1下载sqlprofiler-0.3-bin.zip
2解压,将
spy.properties下面内容复制到先前的spy.properties替换相应地配置:
--------------------------
appender=com.p6spy.engine.logging.appender.Log4jLogger
#appender=com.p6spy.engine.logging.appender.StdoutLogger
#appender=com.p6spy.engine.logging.appender.FileLogger
# append to the p6spy log file. if this is set to false the
# log file is truncated every time. (file logger only)
append=true
#The following are for log4j logging only
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n
log4j.appender.SQLPROFILER_CLIENT=org.apache.log4j.net.SocketAppender
log4j.appender.SQLPROFILER_CLIENT.RemoteHost=localhost
log4j.appender.SQLPROFILER_CLIENT.Port=4445
log4j.appender.SQLPROFILER_CLIENT.LocationInfo=true
#log4j.logger.p6spy=INFO,STDOUT
log4j.logger.p6spy=DEBUG, SQLPROFILER_CLIENT
这段配置的意思是使用log4j来记录日志。
因此需要用到log4j.jar
3安装
1. Start the GUI
2. Start the webapp, in starts doing some JDBC requests we will ignore
3. Press the "reset" button on the GUI
4. Make a request to the webapp
5. Press the "pause" button after the request has finished executing
6. Press the "report" button to save profiling results as a CSV file
* 我们先用java -jar sqlprofiler.jar 运行 sql profiler
* 然后启动web server
4应用:
1)可以生成SQL执行情况报表:点击“pause”按钮,即可产生profiler result;
2)很cool的是,点击最左边的按钮,可以根据整个运行情况生成数据库索引的创建脚本,我们可以根据这些脚本生成自己的数据库索引,数据库tuning的工作是不是变得越来越简单or傻瓜了呢?呵呵。
3)其他的包括图形分析报表,自己挖掘吧;
4)如果用loadRunner、web stress tool等压力测试工具run一把,那么这个报表和索引创建建议就更加逼真和有效了。
分享到:
相关推荐
利用P6SPY +SQL Profiler调试、记录、统计web app对数据库的操作, 可以查看到PreparedStatment的执行最终的SQL语句。 有详细的操作说明 下面的这个是集成的完整版。。太大了就不上传了。自己下吧 jahia_v6_...
用p6spy+sqlprofiler 监控sql 的所有文件和包
配置P6Spy和SQL Profiler
NULL 博文链接:https://duqiangcise.iteye.com/blog/1861137
NULL 博文链接:https://martin8298.iteye.com/blog/1458550
专门用来监控hibernate的sql输出,进行调试应用程序的工具,找了好久才找到,里面有个配置文件,记住realdriver是你的驱动,而在hibernate设置的驱动是这个驱动代理,p6spy的驱动,相当于在hibernate和数据库之间放...
p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用
Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 内容 C#Spy++调用 ...
监控和剖析数据库 P6Spy、SQL Profiler、IronTrack SQL。三个东东打包放送,另附配置说明
NULL 博文链接:https://cuisuqiang.iteye.com/blog/2067027
类似SPY++的窗口查看器,MFC工程,详细信息见博文《仿照spy++写个窗口查看器(MFC工程)》
p6spy.jar 博文链接:https://lxy19791111.iteye.com/blog/131293
p6spy-sql监控 p6spy-sql监控 p6spy-sql监控
这是自己整合的Spring 3.0+Struts2+Mybatis 3 + p6spy +ehcache的平台框架,内含一点示例代码,目前ehcache没有使用。直接编译后发布就能用 测试环境基于JDK1.6+Tomcat 6.0. 大家拿到后请根据实际情况修改 ...
C# Spy++的源代码 C# Spy++的源代码
Spy++ (SPYXX.EXE) 是一个基于 Win32(最新版本支持Win64) 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用 Spy++ 可以执行下列操作: 显示系统对象(包括进程、线程和窗口)之间关系的图形树...
VB 实现Spy++工具 学习 API 好工具
Qt 上可以用的spy++ 原名 gammaray
spy++中文手册,spy++介绍和使用方法。
1.实现了SPY++的核心功能,获取窗口句柄、窗口标题、类型名等信息; 2.实现了高亮功能;