0

開発環境で負荷テスト/システム統合テストを行っているにもかかわらず、Sun アプリケーション サーバーにデプロイされた Struts Web アプリケーションがあります。接続リークのシナリオはありません。

ただし、本番環境では。使用中の接続が増加し続けるため、接続リークが見られます。

アプリケーション コード以外に、接続リークを引き起こす可能性のあるシナリオは何ですか?

4

2 に答える 2

0

これをどのように測定しますか?データベース内の接続数を見ていますか? アプリ サーバーのプールのサイズは? どのデータベースを使用していますか?

「接続[原文]リークのシナリオはありません」がわかりません。すべての ResultSet、Statement、および Connection を (メソッド スコープの finally ブロック内の個々の try/catch ブロックで、インスタンス化の逆順で) 適切に閉じていない場合、リークが発生する可能性があります。

同じデータベースを使用している別のアプリケーションがない限り、コードまたはアプリ サーバーである必要があります。コードについて深く否定している場合は、アプリ サーバーを切り替えてみて、それが役立つかどうかを確認してください。

テストシナリオは現実的ではないことをお勧めします。本番環境でこの動作が見られない場合は、テストが動作をトリガーしていないか、テストと本番のデプロイが同一ではありません。

于 2009-03-20T00:08:50.940 に答える
0

接続リークは、発生する最も一般的な問題の 1 つです。これの主な理由は、使用後に結果セット、接続を閉じていないことです。

try{
//perform jdbc operations
}catch(Exception e){
//perform error operations
}finally{
//close the connections 
}

また、接続リークのログを有効にする方法もありますが、これはパフォーマンスに影響します。

于 2012-08-23T18:40:52.690 に答える