好久没有来这里了,从运维回归编程,一路又是披荆斩棘,几多坑洼,几多泥泞,几多泪水,几多苦痛。。。

闲暇不多,难得有时间收拾一下心情,先记上两笔吧,后续在细细整理。。。

  1. <bean id="dataSource"   class="org.logicalcobwebs.proxool.ProxoolDataSource">    
  2.          <property name="driver">    
  3.                  <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>    
  4.          </property>    
  5.          <property name="driverUrl">    
  6.                  <value>jdbc:sqlserver://10.181.57.61;databaseName=KAOII</value>    
  7.          </property>    
  8.          <property name="user" value="KAOAdmin"/>    
  9.          <property name="password" value="KAOpwd"/>    
  10.          <property name="alias" value="KaoII"/>    
  11.          <!-- 连接最大活动时间 ,简单的说就是一条SQL 最大执行时间--> 
  12.          <property name="maximumActiveTime" value="300000"/>    
  13.          <!-- 空闲连接数 --> 
  14.          <property name="prototypeCount" value="5"/> 
  15.          <!-- 池最大连接数 --> 
  16.          <property name="maximumConnectionCount" value="200"/> 
  17.          <!-- 最小连接数 --> 
  18.          <property name="minimumConnectionCount" value="10"/> 
  19.          <!--  允许同时建立的连接数,并发阀值--> 
  20.          <property name="simultaneousBuildThrottle" value="10"/>    
  21.          <!-- 检查连接有效性的SQL --> 
  22.          <property name="houseKeepingTestSql" value="select getdate()"/>    
  23.          <!-- 连接的最大生命周期,因为一个连接次数多了,性能就会下降,所以需要抛弃重新建立  
  24.           --> 
  25.          <!-- 连接有效性检查的间隔  
  26.           --> 
  27.          <!--  
  28.          <property name="maximumConnectionLifetime" value="3600000"/> 
  29.          <property name="houseKeepingSleepTime" value="60000"/> 
  30.           --> 
  31.  </bean>   

先解决数据库连接不稳定的问题,proxool 的好处就是可以监控连接池的使用情况,

以下是 web.xml  监控连接池servlet 的配置.

 

  1. <servlet >   
  2.      <servlet-name >pool</servlet-name >   
  3.      <servlet-class >org.logicalcobwebs.proxool.admin.servlet.AdminServlet </servlet-class >   
  4.  </servlet >   
  5.  
  6.  <servlet-mapping >   
  7.      <servlet-name>pool</servlet-name > 
  8.      <url-pattern>/pool</url-pattern > 
  9.  </servlet-mapping >  

顺便再加上内存的使用情况:

// 空闲内存

Runtime.freeMemory()

//最大可用内存

Runtime.maxMemory()

//已经分配的内存

Runtime.totalMemory()

这样基本就可以实时了解系统在生产环境运行情况。