好久没有来这里了,从运维回归编程,一路又是披荆斩棘,几多坑洼,几多泥泞,几多泪水,几多苦痛。。。
闲暇不多,难得有时间收拾一下心情,先记上两笔吧,后续在细细整理。。。
- <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
- <property name="driver">
- <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
- </property>
- <property name="driverUrl">
- <value>jdbc:sqlserver://10.181.57.61;databaseName=KAOII</value>
- </property>
- <property name="user" value="KAOAdmin"/>
- <property name="password" value="KAOpwd"/>
- <property name="alias" value="KaoII"/>
- <!-- 连接最大活动时间 ,简单的说就是一条SQL 最大执行时间-->
- <property name="maximumActiveTime" value="300000"/>
- <!-- 空闲连接数 -->
- <property name="prototypeCount" value="5"/>
- <!-- 池最大连接数 -->
- <property name="maximumConnectionCount" value="200"/>
- <!-- 最小连接数 -->
- <property name="minimumConnectionCount" value="10"/>
- <!-- 允许同时建立的连接数,并发阀值-->
- <property name="simultaneousBuildThrottle" value="10"/>
- <!-- 检查连接有效性的SQL -->
- <property name="houseKeepingTestSql" value="select getdate()"/>
- <!-- 连接的最大生命周期,因为一个连接次数多了,性能就会下降,所以需要抛弃重新建立
- -->
- <!-- 连接有效性检查的间隔
- -->
- <!--
- <property name="maximumConnectionLifetime" value="3600000"/>
- <property name="houseKeepingSleepTime" value="60000"/>
- -->
- </bean>
先解决数据库连接不稳定的问题,proxool 的好处就是可以监控连接池的使用情况,
以下是 web.xml 监控连接池servlet 的配置.
- <servlet >
- <servlet-name >pool</servlet-name >
- <servlet-class >org.logicalcobwebs.proxool.admin.servlet.AdminServlet </servlet-class >
- </servlet >
- <servlet-mapping >
- <servlet-name>pool</servlet-name >
- <url-pattern>/pool</url-pattern >
- </servlet-mapping >
顺便再加上内存的使用情况:
// 空闲内存
Runtime.freeMemory()
//最大可用内存
Runtime.maxMemory()
//已经分配的内存
Runtime.totalMemory()
这样基本就可以实时了解系统在生产环境运行情况。