我们在一台计算机上安装了Tomcat,在另一台计算机上安装了SQL Server。
我们的SQL Server计算机是Windows 2008 R2 64位计算机,具有32GB可用RAM 4个处理器,16个cpu。 我们使用数据库池来保持数据库连接的可重用性。
我正在查看Task Manager
中的资源监视器,我注意到从应用程序服务器到SQL Server machine
的TCP连接数。
总共有1014个连接。
其中1009个是' AWAITING COMMAND ',status =' sleep '。 其他5个是' SELECT '和' UPDATE ',status =' runnable '。
我的application-context.xml:
<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.c3p0.min_size">4</prop>
<prop key="hibernate.c3p0.max_size">10</prop>
<prop key="hibernate.c3p0.timeout">600</prop>
<prop key="hibernate.c3p0.max_statements">25</prop>
<prop key="hibernate.c3p0.testConnectionOnCheckout">false</prop>
<prop key="hibernate.cache.use_second_level_cache">false</prop>
</props>
</property>
</bean>
c3p0.properties:
c3p0.maxIdleTime=900
c3p0.maxStatements=150
c3p0.maxIdleTimeExcessConnections=300
numHelperThreads=6
unreturnedConnectionTimeout=3600
Tomcat的context.xml:
<Resource
auth="Container"
description="MY Database"
driverClass="net.sourceforge.jtds.jdbc.Driver"
factory="org.apache.naming.factory.BeanFactory"
name="jdbc/myDB"
username="sa"
password="p@ssword"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
url="jdbc:jtds:sqlserver://100.00.22.012:1433/mtDB;user=sa;password=p@ssword;TDS=8.0" "
/>