WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化
このトピックは、i5/OS オペレーティング・システムにのみ適用されます。

ユーザー・クラス・ローダーによってあらかじめロード済みのクラスのキャッシング

i5/OS Java 仮想マシン (JVM) のユーザー・クラス・ローダーによってあらかじめロード済みの クラスをキャッシングすると、サーブレット、JavaServer Pages (JSP) ファイル、 およびエンタープライズ Bean のロードにかかる時間を大幅に削減することができます。 クラスのキャッシングは、ほとんどのアプリケーションでは必須ではありません。ただし、 場合によっては、クラスのキャッシングによってアプリケーションのパフォーマンスが向上します。

始める前に

アプリケーション・サーバーのクラス・ローダー、アプリケーションのクラス・ローダー、 およびアプリケーション・モジュールのクラス・ローダーによって、サーブレット、JSP ファイル、 およびエンタープライズ Bean などの WebSphere Application Server コンポーネントがロードされます。 これらのクラス・ローダーは、i5/OS ドキュメンテーション内では、ユーザー・クラス・ローダー と 呼ばれています。

ご使用のアプリケーションのサーブレット、JSP ファイル、およびエンタープライズ Bean の ロードが遅い場合は、これらのコンポーネントの開始パフォーマンスを向上するために、 キャッシュを使用することができます。 キャッシュを使用することにより、i5/OS の JVM は、ユーザー・クラス・ローダーであらかじめロード済みの クラスを識別することができます。

キャッシュが有効な場合は、ユーザー・クラス・ローダーによって生成された 各 Java プログラム・オブジェクト (JVAPGM) は、初期クラス・ロード時に再利用するためにキャッシュされます。 最初にクラスがロードされるときは、ロード中に JVAPGM が生成され、バイトコードが検査されるため、 ロードに時間がかかります。クラスがキャッシュされたあとは、JVAPGM 生成およびバイトコード検査は行われず、 以降のロードはより高速になります。 ご使用のアプリケーションを実行して、最初にクラスをキャッシュに入れる必要があります。

キャッシュを有効にする前に、 キャッシュの使用によってご使用のコンポーネントのパフォーマンスが向上するかどうかを判断します。 以下の状態でご使用のコンポーネントのロードが遅い場合にのみ、キャッシュを有効にします。

ご使用のアプリケーションにこれらのコンポーネントが含まれる場合 コンポーネントのロード時期 コメント
アプリケーション・サーバーの始動時にロードするように構成されたサーブレット、 またはエンタープライズ Bean アプリケーション・サーバーの始動時 これらのコンポーネントが多数ある場合、またはご使用のアプリケーションに 多くのクラスにアクセスする複雑なコンポーネントがある場合は、アプリケーション・サーバーの始動が遅くなります。
アプリケーション・サーバーの始動時にロードするように構成されていないサーブレット、 または JSP ファイル コンポーネントのクラスが最初にアクセスされたとき これらのコンポーネントが複雑な場合、またはご使用のアプリケーションで多くのクラスに アクセスする場合は、これらのコンポーネントの最初のロードに時間がかかります。

このタスクについて

ユーザー・クラス・ローダー・キャッシュを有効にするには、以下を実行します。

プロシージャー

  1. 管理コンソールで、 「サーバー」>「アプリケーション・サーバー」>「server_name」>「プロセス定義」> 「Java 仮想マシン」>「カスタム・プロパティー」をクリックします。
  2. 「サーバー・インフラストラクチャー」の下で、 「Java およびプロセス管理」>「プロセス定義」>「process_name」> 「Java 仮想マシン」をクリックします。
  3. 「追加プロパティー」の下で、「カスタム・プロパティー」>「新規」とクリックします。
  4. 「名前」フィールドで os400.define.class.cache.file および 有効な Java アーカイブ (JAR) ファイルの絶対パス名を指定し、「値」フィールドに Java プログラム・オブジェクト (JVAPGM) を保持します。 os400.define.class.cache.file カスタム・プロパティーによって、 Java ユーザー・クラス・ローダーのキャッシュが有効になります。 「値」フィールドで指定された JAR ファイルには、有効な JAR エントリーが含まれている必要がありますが、 JAR コマンドを機能させるために必要な単一メンバー以外のコンテンツを含む必要はありません。

    /QIBM/ProdData/Java400/QDefineClassCache.jar キャッシュ JAR ファイルは、 WebSphere Application Server に同梱されています。 この JAR ファイルをそのまま使用するか、またはコピーしてから名前を変更して使用することができます。 独自のキャッシュ JAR ファイルを作成することもできます。

    1. STRQSH コマンドを入力し、Qshell を開始します。
    2. JAR ファイルを配置するディレクトリーに切り替えます。 必要に応じて、最初にディレクトリーを作成します。
      mkdir /cache cd /cache
    3. JAR の中に入れるためのダミー・ファイルを作成します。 任意の名前を使用できます。 この例では、example を使用します。
      touch example
    4. JAR ファイルをビルドします。 この例では、JAR ファイルの名前を MyAppCache.jar とします。
      jar -cf MyAppCache.jar example
    5. ダミー・ファイルをクリーンアップします。
      rm example

    この JAR ファイルは、どのクラスパス上にも置かないでください。

    この JAR ファイルに対して DSPJVAPGM を使用すると、 キャッシュされている JVAPGM の数を判別することができます。 DSPJVAPGM 表示の「Java プログラム」フィールドでは、 キャッシュされている JVAPGM の数が表示され、 「Java プログラム・サイズ」フィールドでは、 キャッシュされた JVAPGM によって消費されているストレージの量が表示されます。 DSPJVAPGM をキャッシングに使用された JAR ファイルに適用した場合、他の表示フィールドに意味はありません。

    JAR ファイルに対して CHGJVAPGM を使用し、キャッシュ中のクラスの最適化を変更することもできます。 CHGJVAPGM は、現在キャッシュにあるプログラムにのみ影響します。 キャッシュに加えられたクラスは、このリストに表示されている別のプロパティーに従って最適化されます。

    名前 値の例
    os400.define.class.cache.file /QIBM/ProdData/Java400/QDefineClassCache.jar
  5. OK」をクリックします。
  6. オプション: 再び「新規」をクリックして 以下のカスタム・プロパティーのうちの 1 つを指定し、ユーザー・クラス・ローダーのキャッシュを カスタマイズします。 この手順を必要な回数だけ繰り返して、カスタマイズを完了します。
    os400.define.class.cache.hours
    また、必要に応じて、未使用の JVAPGM がキャッシュに保持されている時間数を指定します。 JVAPGM が使用されないままこのタイムアウト時間に達すると、 JVAPGM はキャッシュから除去されます。 デフォルト値は、168 (1 週間) です。最大値は 9999 (約 59 週間) です。
    os400.define.class.cache.maxpgms
    また、必要に応じて、キャッシュで保持可能な JVAPGM の最大数を指定します。 この値に達すると、未使用時間が最も長い JVAPGM が最初に置き換えられます。 デフォルト値は 5000 です。最大値は 40000 です。

    例えば、最長寿命が 1 年である JVAPGM を最大 10,000 個までで 同梱されたキャッシュ JAR を使用するには、以下のカスタム・プロパティー指定を追加します。

    名前
    os400.define.class.cache.hours 8760
    os400.define.class.cache.maxpgms 10000

    os400.defineClass.optLevel などの他の Java システム・プロパティーは、 JVAPGM がキャッシュ中に生成される方法のカスタマイズに使用できます。

  7. OK」をクリックしてから「保管」をクリックし、構成の変更を保管します。
  8. アプリケーション・サーバーを 再始動します。

結果

クラスは i5/OS の Java 仮想マシン (JVM) ユーザー・クラス・ローダーによって初期ロードされた後、 キャッシュされます。



関連タスク
JVM ダイレクト実行を使用したクラスの実行
JVM の構成
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/trun_jvm_cache_classes.html