我的java应用程序使用DBCP池,但是在加载时我看到一些奇怪的行为。池配置如下:
database.name.mydb=mydb
mydb.password=##248ZwTdcygYhQ4zyiogkFg\=\=
mydb.url=jdbc:jtds:sqlserver://mydb:1433/mydb;sendStringParametersAsUnicode=false;appName=mydbconn1
mydb.driverClassName=net.sourceforge.jtds.jdbcx.JtdsDataSource
mydb.username=mydb
mydb.initialSize=100
mydb.maxActive=200
mydb.minIdle=1000
mydb.maxIdle=200
mydb.useApacheDBPC=true
mydb.propertyStore=true
mydb.description=MyDB Live Database
在启动时,我在SQL Server数据库连接列表中查看了200个连接的连接。当我开始应用程序负载测试时,然后开始流失,从未降到190以下我见过。典型值介于196-199之间。
客户抱怨在应用程序服务器上出现在TIME_WAIT中的数据库有很多连接。这表明连接在应用程序端关闭,而不是返回池中。
这可能是我所看到的数字下降然后再次上升。
问题是造成这种情况的原因?这是DBCP中的应用程序错误还是一些错误配置?什么会导致像这样的连接搅动?