通过Proxool辅助数据库优化

1. 首先在Tomcat下的context.xml里配置数据源
       <Resource name="jdbc/b2b" auth="Container" type="javax.sql.DataSource"
        factory="org.logicalcobwebs.proxool.ProxoolDataSource" proxool.alias="zyw_com"
                proxool.maximum-connection-count="3000" proxool.minimum-connection-count="3" 
                proxool.maxinum-connection-lifetime="18000000" proxool.maximum-active-time="60000"
                proxool.house-keeping-sleep-time="30000"    proxool.simultaneous-build-throttle="40"
             proxool.trace="true"  user="zyw.com" password="zyw.lizz" delegateProperties="foo=bar"
             proxool.prototype-count="10"
             proxool.statistics-log-level="INFO" proxool.statistics="10s"
                proxool.driver-url="jdbc:oracle:thin:@192.168.1.99:1599:zyw"
          proxool.driver-class="oracle.jdbc.driver.OracleDriver"  />
2.然后把这三个包(proxool-0.9.1.jar,proxool-cglib.jar,commons-logging.jar)分别放在tomcat/common/lib下和工程下的lib目录;
3.配置log4j.properties
log4j.logger.org.logicalcobwebs.proxool=DEBUG, proxool   
  
log4j.appender.proxool=org.apache.log4j.DailyRollingFileAppender   
log4j.appender.proxool.File=${catalina.home}/logs/proxool.log   
log4j.appender.proxool.layout=org.apache.log4j.PatternLayout   
log4j.appender.proxool.layout.ConversionPattern=%d{DATE} [%-5p] %c {%F:%L} - %m%n   
log4j.appender.proxool.DatePattern='.'yyyy-MM-dd 
 
4.然后就可以在控制台和日志文件输出proxool日志内容,日志里语句会自动把参数填充进去,并在最后输出该语句执行多少毫秒;
这个对于数据库优化非常有帮助
5.隔一天把服务器上的proxool.log载下来,写个程序把执行时间超过3000毫秒的SQL语句过滤出来,然后进行SQL优化,这样相信可以减轻不少服务器负载
posted @ 2010-08-19 15:39  langke93  阅读(864)  评论(0编辑  收藏  举报