0

Sql Server 2005 で接続プール (DBCP) を使用して 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"
    /> 
4

1 に答える 1

0

あなたのコードでは、開かれた接続を閉じますか? これにより、接続がプールに戻され、再利用されます。この場合、パフォーマンスが低下することはありません。ただし、500 を超えるアクティブな接続が必要な場合、一部は待機する必要があります。

プーリングに関連する SO に関する他の質問も参照してください。

于 2012-05-08T13:12:15.713 に答える