今週初め、サーバーの 1 つで Websphere OutOfMemory 例外が発生しました。IHS が維持できる同時クライアントの数が制限されていれば、これを防ぐことができたのでしょうか。根本的な問題はデータベース ロックが原因でしたが、これが解消されるまでに、WebSphere はメモリ不足でした。
このエラーの発生を防ぐために、IHS での同時クライアント接続の数を制限する必要があるかどうか疑問に思っていました。
どんな助けや推薦も大歓迎です。
今週初め、サーバーの 1 つで Websphere OutOfMemory 例外が発生しました。IHS が維持できる同時クライアントの数が制限されていれば、これを防ぐことができたのでしょうか。根本的な問題はデータベース ロックが原因でしたが、これが解消されるまでに、WebSphere はメモリ不足でした。
このエラーの発生を防ぐために、IHS での同時クライアント接続の数を制限する必要があるかどうか疑問に思っていました。
どんな助けや推薦も大歓迎です。
同時セッション数を制限しても問題は解決しませんが、回避できます。
WebSphere がメモリ不足になった場合、最初に行うべきことは、ヒープ ダンプを取得して分析し、アプリケーションがヒープ全体を消費するようになった理由を突き止めることです。何かが足りないのかもしれませんが、アプリケーションがデータベース ロックのためにヒープ全体を消費しているということは、バグの可能性を示唆しています。
同時セッションの数を制限することは、次のような場合にのみ有効な解決策です (回避策ではありません)。
X
一定量の RAM を占有し (つまりX
、アプリケーションが設計どおりに動作すると仮定した場合に、セッションが占有する RAM の最大量です)、ヒープ サイズは に制限されY
ます。その場合、同時セッションの数を に制限することは理にかなっていますY/X
。これは (回避策ではなく) 有効な解決策です。実際には、アーキテクチャはより多くのセッションに耐えるように設計されていないためです。