我使用连接池(DBCP)和Sql Server 2005开发了Java应用程序。在我的配置文件中,我有MaxActive="500"
但在某些情况下它会超过500个连接。为什么?数据库很慢。
<Resource
name="jdbc/tm4u"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://XXXX;databaseName=XX;User=abc;Password=son;selectMethod=cursor"
username="abc"
password="son"
autoReconnect="true"
maxActive="500"
removeAbandoned="true"
logAbandoned="true"
removeAbandonedTimeout="60"
maxIdle="10"
/>
答案 0 :(得分:0)
在您的代码中,您是否关闭已打开的连接?通过这样做,连接将返回到池并重新使用。在这种情况下应该没有性能下降。但是,如果我们需要超过500个活动连接,其中一些必须等待。
另请参阅有关SO的其他问题。