Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

ガベージコレクションアルゴリズムの選択

フル GC 中の中断時間が 4 秒を超えると、HADB でのセッションデータの持続に断続的に失敗する可能性があります。

GC が進行している間、Application Server は動作していません。中断が長すぎると、HADB で既存の接続がタイムアウトになります。その後、アプリケーションサーバーが動作を再開したときに、それらの接続を使用してセッションデータを持続しようとすると、HADB によるエラーが生成されます。生成されるエラーは、「セッションデータの保存に失敗しました」、「トランザクションが中止されました」、「HADB サーバーへの接続に失敗しました」などです。

この問題が発生しないようにするには、GC アルゴリズムとして CMS コレクタを使用します。このコレクタはほとんど絶え間なく実行されているので、使用率の高いシステムではスループットが低下する可能性があります。ただし、ガベージコレクタが低頻度で実行される場合に生じる可能性がある長い中断は回避できます。

ProcedureCMS コレクタを使用する

  1. システムの CPU 使用率が 100% ではないことを確認します。

  2. 管理ガイドの説明に従って、HADB タイムアウトを設定します。

  3. サーバーインスタンスで CMS コレクタを設定します。

    これを行うには、次の JVM オプションを追加します。

    • -XX:+UseConcMarkSweepGC

    • -XX:SoftRefLRUPolicyMSPerMB=1