WebSphere Application Server における WebSphere Real Time

WebSphere® Application Server Network Deployment バージョン 7.0 環境で eXtreme Scale とともに WebSphere® Real Time を使用することができます。 WebSphere Real Time を使用可能にすることにより、ガーベッジ・コレクションはより予測可能になり、トランザクションの応答時間とスループットは安定した一貫性のあるものになります。

利点

WebSphere eXtreme Scale を WebSphere Real Time と一緒に使用すると、標準 IBM® Java™ SE Runtime Environment (JRE) で採用されているデフォルトのガーベッジ・コレクション・ポリシーと比べてパフォーマンス・スループットは犠牲にしますが、一貫性および予測可能性は高まります。 いくつかの基準を基にすると、費用対効果の提案が変わる可能性があります。 以下は、主要な基準の一部です。

  • サーバーの機能 - 使用可能メモリー、CPU の速度とサイズ、ネットワークの速度と使用
  • サーバーの負荷 – 連続的な CPU 負荷、ピークの CPU 負荷
  • Java 構成 – ヒープ・サイズ、目標使用、ガーベッジ・コレクション・スレッド
  • WebSphere eXtreme Scale コピー・モード構成 – バイト配列と POJO 保管の対比
  • アプリケーション特性 – スレッド使用量、応答の要件と許容範囲、オブジェクト・サイズなど。

WebSphere Real Time で使用可能なこのメトロノーム・ガーベッジ・コレクション・ポリシーの他に、標準 IBM Java™ SE Runtime Environment (JRE) で使用可能なオプションのガーベッジ・コレクション・ポリシーがあります。 これらのポリシー、optthruput (デフォルト)、gencon、optavgpause、および subpool は、特に異なるアプリケーション要件と環境を解決するように設計されています。 これらのポリシーについて詳しくは、Java 仮想マシンのチューニングを参照してください。アプリケーションと環境の要件、資源と制約に応じて、これらのガーベッジ・コレクション・ポリシーを 1 つ以上プロトタイピングすることにより、確実に要件は満たされ、最適なポリシーを決定することができます。

WebSphere Application Server Network Deployment との機能

  1. 以下はサポートされるバージョンの一部です。
    • WebSphere Application Server Network Deployment バージョン 7.0.0.5 以降。
    • WebSphere Real Time V2 SR2 for Linux 以降。 詳しくは、IBM WebSphere Real Time V2 for Linux を参照してください。
    • WebSphere eXtreme Scale バージョン 7.0.0.0 以降。
    • Linux 32 および 64 ビット・オペレーティング・システム。
  2. WebSphere eXtreme Scale サーバーは、WebSphere Application Server DMgr と連結することはできません。
  3. Real Time は DMgr をサポートしません。
  4. Real Time は WebSphere ノード・エージェントをサポートしません。

WebSphere Real Time の使用可能化

eXtreme Scale を実行するコンピューターに、WebSphere Real Time と WebSphere eXtreme Scale をインストールしてください。 WebSphere Real Time Java を SR2 に更新します。

以下のように、WebSphere Application Server バージョン 7.0 コンソールから、各サーバーの JVM 設定を指定できます。

「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > <必要なインストール済みサーバー>を選択します。

結果のページで「プロセス定義」を選択します。

次ページで、右側の列最上部の「Java 仮想マシン」をクリックします。 (ここで各サーバーのヒープ・サイズ、ガーベッジ・コレクション、およびその他のフラグを設定できます。)

以下のフラグを「汎用 JVM 引数」フィールドに設定します。

-Xrealtime -Xgcpolicy:metronome  -Xnocompressedrefs -Xgc:targetUtilization=80

変更内容を適用し、保存します。

eXtreme Scale サーバーが上記の JVM フラグを組み込んだ WebSphere Application Server 7.0 で Real Time を使用するには、JAVA_HOME 環境変数を作成する必要があります。

以下のように JAVA_HOME を設定します。

  1. 「環境」を展開します。
  2. 「WebSphere 変数」を選択します。
  3. 「スコープの表示」の下の「すべてのスコープ」にチェック・マークが付いていることを確認します。
  4. ドロップダウン・リストから必要なサーバーを選択します。 (DMgr サーバーまたはノード・エージェント・サーバーは選択しないでください。)
  5. JAVA_HOME 環境変数がリストされていない場合は、「新規」を選択し、変数名に JAVA_HOME を指定します。 「値」フィールドに、Real Time への完全修飾パス名を入力します。
  6. 変更内容を適用してから保存します。

ベスト・プラクティス

一連のベスト・プラクティスについては、WebSphere Real Time を使用したガーベッジ・コレクションのチューニングのベスト・プラクティスのセクションを参照してください。スタンドアロン WebSphere eXtreme Scale 環境に対するベスト・プラクティスのこのリストには、WebSphere Application Server Network Deployment 環境にデプロイする際に注意する、重要な変更がいくつかあります。

追加の JVM コマンド行パラメーターは、前のセクションで指定したガーベッジ・コレクション・ポリシーと同じロケーションに置かなければなりません。

連続的なプロセッサー負荷に対する許容できる初期目標は 50% で、短期間のピークの負荷のヒットは 75% までです。 これを超えると、予測可能性と一貫性における低下が測定できるようになる前に、追加キャパシティーを追加しなければなりません。 より長い応答時間が許容できれば、パフォーマンスを少し向上させることができます。 80% のしきい値を超えると、一貫性と予測可能性において、重大な低下を招くことがあります。