1

今週初め、サーバーの 1 つで Websphere OutOfMemory 例外が発生しました。IHS が維持できる同時クライアントの数が制限されていれば、これを防ぐことができたのでしょうか。根本的な問題はデータベース ロックが原因でしたが、これが解消されるまでに、WebSphere はメモリ不足でした。

このエラーの発生を防ぐために、IHS での同時クライアント接続の数を制限する必要があるかどうか疑問に思っていました。

どんな助けや推薦も大歓迎です。

4

1 に答える 1

2

同時セッション数を制限しても問題は解決しませんが、回避できます。

WebSphere がメモリ不足になった場合、最初に行うべきことは、ヒープ ダンプを取得して分析し、アプリケーションがヒープ全体を消費するようになった理由を突き止めることです。何かが足りないのかもしれませんが、アプリケーションがデータベース ロックのためにヒープ全体を消費しているということは、バグの可能性を示唆しています。

同時セッションの数を制限することは、次のような場合にのみ有効な解決策です (回避策ではありません)。

  1. 各セッションはX一定量の RAM を占有し (つまりX、アプリケーションが設計どおりに動作すると仮定した場合に、セッションが占有する RAM の最大量です)、ヒープ サイズは に制限されYます。その場合、同時セッションの数を に制限することは理にかなっていますY/X。これは (回避策ではなく) 有効な解決策です。実際には、アーキテクチャはより多くのセッションに耐えるように設計されていないためです。
  2. 複雑なアーキテクチャでは、多数の同時セッションに耐えるアーキテクチャの能力は、最も弱いリンクの能力と同じくらい高くなります。たとえば、10,000 人の同時ユーザーをサポートするのに十分なヒープ サイズがある場合でも、データベースが最大 500 の同時セッションにしか耐えられない場合は、同時セッションの数を 500 に制限する必要があります。
于 2014-05-31T03:04:52.037 に答える