![]() |
iPlanet Application Server 管理者ガイド |
第 14 章 ユーザリクエストのロードバランス
この章では、ロードバランスについて説明します。ロードバランスは、ユーザリクエストを処理する 各 iPlanet Application Server のパフォーマンスを最適化するために、複数の iPlanet Application Server マシン間でリクエストの負荷を均衡させる機能です。
ロードバランスの動作
ロードバランスの動作
ロードバランスの目的は、複数の iPlanet Application Server マシン間に負荷を均一に分散させることです。iASAT を使ってロードバランスを設定すると、ユーザのリクエストを適切に分散させることができます。たとえば、特定の時間帯に多数のユーザが集中してアプリケーションにアクセスする場合は、複数の iPlanet Application Server マシン上で AppLogics や Servlets などのアプリケーションコンポーネントを複製し、ロードバランスを有効にします。特定の iPlanet Application Server マシンの処理能力が限界に達すると、後続のリクエストはアプリケーションコンポーネントが複製されている他の iPlanet Application Server マシンに転送されます。複数のサーバ間にリクエストを均一に分散すると、応答時間を短縮することができます。
iPlanet Application Server マシンでは、ロードバランス方式を指定することができます。ロードバランス方式には、Web コネクタプラグイン駆動または iPlanet Application Server 駆動があります。
Web コネクタプラグイン駆動 : Web コネクタプラグインが、リクエストを送信する iPlanet Application Server インスタンスを選択します。
iPlanet Application Server 駆動 : iPlanet Application Server にロードバランスがロードバランスを決定します。サーバおよびリクエスト統計が収集され、マルチキャストを介してクラスタ内の iPlanet Application Server マシン間で交換されます。マルチキャストの詳細については、第 12 章「複数のサーバの設定」を参照してください。
ロードバランスの必要条件
アプリケーション負荷を均衡させる前に、次の必要条件を満たす必要があります。
アプリケーションコンポーネントは、複数の iPlanet Application Server マシン上、またはロードバランスに含めるすべての iPlanet Application Server マシン上に複製する必要があります。
ロードバランスを有効にする方法については、「ロードバランスを行うためにアプリケーションを管理および配置する」を参照してください。アプリケーションコンポーネントは、特定の iPlanet Application Server マシン、または企業内のすべての iPlanet Application Server マシンに分散する必要があります。
固定 (スティッキー) ロードバランスとは
同じセッション内のリクエストが複数の iPlanet Application Server マシンまたはプロセスによって処理された場合、分散に対応していないセッション情報は失われます。したがって、特定のアプリケーションコンポーネントは、セッション (固有ロードバランス) に設定され、同じサーバ上で処理することによって、セッション情報の喪失を回避しています。アプリケーションコンポーネントが固定ロードバランスに設定されている場合、同一 iPlanet Application Server マシン、つまり最初に起動されたマシン上で処理されます。たとえば、ShopCart というアプリケーションコンポーネントがアプリケーションサーバ Server A と Server B に複製され、ロードバランスが行われるとします。ShoptCart が Server B 上の Client 1 によって起動されると、Client 1 から送信された ShopCart への固定リクエストはすべて Server B だけで処理されます。つまり、ShopCart は Client 1 のセッション期間中、Server B に固定されます。ただし、Client 1 のセッション期間中、Client 2 も Server A 上の ShoptCart にアクセスできます。けれども Client 1 は Server B 上の ShopCart の使用に影響はありません。これによって、セッション情報を分散しないアプリケーションコンポーネントに関するステートおよびセッション情報の整合性が保持されます。
固定ロードバランスの適用
固定ロードバランスの適用
固定ロードバランスは、依存関係を持つが、分散環境で実行されるアプリケーションコンポーネントを実行するときに必要になります。このようなアプリケーションコンポーネントには通常、次の特性があります。たとえば、使用頻度の高い既存のアプリケーションは、iPlanet Application Server に移植して実行します。使用頻度の高い既存のアプリケーションは、複数の iPlanet Application Server マシンに分散してより使いやすくします。ユーザが固定アプリケーションコンポーネントを起動するリクエストを送信すると、ロードバランスサービスはそのリクエストを処理する iPlanet Application Server マシンを決定します。iPlanet Application Server サーバが選択されると、固定アプリケーションコンポーネントを使う後続のリクエストは、すべてその iPlanet Application Server サーバによって処理されます。このサーバに多数のユーザリクエストが集中した場合、ロードバランスは新しいリクエストを他の iPlanet Application Server マシンに転送し、そのサーバが新しいセッションリクエストをすべて処理します。これにより、ロードバランスの効率が保持されます。
固定ロードバランスの有効化
複数の iPlanet Application Server マシンを配置している場合、特定のアプリケーションコンポーネントのセッションおよびステート情報を分散できないときは、固定ロードバランス機能を有効にします。
iASAT ツールバーの「アプリケーション」をクリックして「アプリケーション」ウィンドウを開きます。
「アプリケーション」ウィンドウの左側のペインで、固定ロードバランを有効にするサーバを選択します。
固定ロードバランスを有効にするアプリケーションコンポーネントが含まれているアプリケーショングループを開きます。
「アプリケーション」ウィンドウの右側のペインで、固定ロードバランスを有効にするアプリケーションコンポーネントを選択します。
「Sticky LB」カラムで、選択したアプリケーションコンポーネントのチェックボックスをオンにします。
固定ロードバランスを有効にするアプリケーションコンポーネントごとに、手順 4 〜 5 を繰り返します。
- 選択したコンポーネントの固定ロードバランスが有効になります。
「Toggle Sticky LB」をクリックすると、すべての「Sticky LB」チェックボックスが選択 または 選択解除されます。
固定ロードバランスと外部 Sticky cookie
通常、Web コネクタは、iPlanet レジストリ内で専用に配置されている iPlanet Application Server インスタンスへのリクエストのディスパッチのみを行うことができます。たとえば、LOCAL に設定されたアプリケーションコンポーネントのリクエストは、次の iPlanet レジストリキーに設定されたインスタンスにディスパッチされます。Software/iPlanet/Application Server/6.5/CCSO/HTTPAPI/GXIP
DISTRIBUTED に設定されたアプリケーションコンポーネントのリクエストは、次の iPlanet レジストリキーでターゲットコンポーネント用に指定されている iPlanet Application Server インスタンスにディスパッチできます。
Software/iPlanet/Application Server/6.5/GDS/subtreemaps
つまり、ディスパッチ可能なインスタンスは Web コネクタのレジストリから解読される必要があります。しかし、固定 cookie セットとともにリクエストが届いたときの Web コネクタの選択はあまり明確ではありません。Web コネクタが固定 cookie を持つリクエストを処理するときは、固定ターゲット指定値に基づいてリクエストをディスパッチします。正しく計画的に設定されている場合は、Web コネクタは未知の固定ターゲットのリクエストを正しくディスパッチできます。たとえば、アプリケーションサーバの上位にロードバランス層が存在する場合、Web コネクタは、以前に接続したことがないターゲットアプリケーションサーバの固定リクエストを受け取ることができます。また、Web コネクタが認識していないインスタンスの固定ターゲット指定を無視することもできます。Web コネクタが固定ターゲット指定を許可するインスタンスのセットは、同じマルチキャストグループの構成要素のインスタンスによって決まります。
ロードバランス方式の選択
サーバのロードバランスを有効にするときは、ロードバランス方式を選択する必要があります。ロードバランスの制御方法は、「だれ」がロードバランスを制御するかによって異なります。つまり、サーバ自体がロードバランスを制御する方式と、Web コネクタプラグインが制御する方式があります。
Web コネクタプラグインによるロードバランス
Web コネクタプラグインによるロードバランス
Web コネクタプラグインがロードバランスを制御する場合、次の方法を選択できます。
コンポーネントの応答時間 (デフォルト)
サーバあたりの応答時間
- Web コネクタプラグインは、アプリケーションコンポーネントの応答時間を測定して、アプリケーションリクエストの転送先を決定します。転送先の決定はデフォルトで選択されます。
ラウンドロビン
- Web コネクタプラグインは、サーバの応答時間を測定してアプリケーションの転送先を決定します。コンポーネントの応答時間を使用した場合よりもオーバーヘッドが減少します。
- リクエストは、ユーザが指定したウェイト方式に基づいてサーバ全体に分散されます。
- プラグインは、ユーザが指定したウェイトに基づいて、iPlanet Application Server マシンにリクエストを分散します。このロードバランスオプションは、ユーザが指定するウェイトだけに基づき、コンポーネントまたはサーバ応答時間に関するデータの収集を必要としないので、オーバーヘッドが発生しません。
iPlanet Application Server によるロードバランス
iPlanet Application Server がロードバランスを制御する場合、このアプリケーションサーバは、CPU 負荷やディスク I/O などのハードウェアリソースプロファイルと、結果キャッシュや Servlet 実行速度などのリクエスト実行プロファイルを使って、リクエストの負荷を均衡させます。サーバおよびリクエストの統計は、マルチキャストを介してクラスタ内の別の iPlanet Application Server マシンと交換されます。マルチキャストは、管理者が詳細に制御できるため、複雑なシナリオに適しています。
注 このロードバランス方式は、設定が最も難しく、パフォーマンスが向上するとは限りません。まず、Web コネクタプラグイン方式を試すことをお勧めします。
コンポーネントの応答時間によるロードバランス
コンポーネントの応答時間による方式は、特定のアプリケーションに対する iPlanet Application Server マシンの平均応答時間の測定に基づいて行われます。コンポーネント方式では、Web コネクタプラグインがロードバランスをより豊富かつ詳細に制御することができます。ただし、コンポーネント方式では、サーバ方式よりオーバーヘッドが若干増加します。コンポーネント方式は、アプリケーションコンポーネントの応答時間がパフォーマンス特性によりサーバごとに大きく異なる場合に適しています。
コンポーネントの応答時間によるロードバランスを有効にするには、次の手順を実行します。
iASAT ツールバーで「ロードバランス」をクリックして、「ロードバランス」ウィンドウを開きます。
左側のペインで、ロードバランス方式を指定するサーバを選択します。
「ロードバランス」ドロップダウンボックスで「コンポーネントあたりのレスポンス時間 (Web コネクタ駆動)」を選択し、Web コネクタプラグインがコンポーネント応答時間の統計に基づいてロードバランスを制御するように指定します。これはデフォルトです。
サーバの応答時間によるロードバランス
サーバの応答時間による方式は、iPlanet Application Server マシンが処理するアプリケーションコンポーネント全体の平均応答時間の測定に基づいて行われます。サーバ方式は、アプリケーションコンポーネントの応答時間がサーバごとに類似している場合に適しています。
サーバの応答時間によるロードバランスを有効にするには、次の手順を実行します。
iASAT ツールバーで「ロードバランス」をクリックして、「ロードバランス」ウィンドウを開きます。
左側のペインで、ロードバランス方式を指定するサーバを選択します。
「ロードバランス」ドロップダウンボックスで「サーバあたりのレスポンス時間 (Web コネクタ駆動)」を選択し、Web コネクタプラグインがサーバ応答時間の統計に基づいてロードバランスを制御するように指定します。
ラウンドロビンロードバランス
ラウンドロビンロードバランス方式を選択するときは、ラウンドロビンロードバランスに加わる各 iPlanet Application Server マシンのウェイトを指定する必要があります。ウェイトのデフォルト値は、変更しないかぎり、1 です。すべてのサーバのウェイトが等しい場合、ラウンドロビンロードバランスは、同数のリクエストを各サーバに送信します。サーバのパフォーマンスが異なる場合は、ウェイトシステムを使用する必要があります。パフォーマンス特性が異なる 4 台のマシンをラウンドロビンに含めた場合、パフォーマンスの高いマシンにより多くのリクエストを割り当てる必要があります。これを実行するには、各 iPlanet Application Server マシンにウェイトを割り当てます。4 台の iPlanet Application Server マシンに対して、8 リクエストごとに次のウェイトを割り当てたと想定します。
この場合、4 リクエストがマシン 1 に、2 リクエストがマシン 2 に、以下同様に転送されます。リクエスト数を詳細に制御するには、1,000 個のうち何個のリクエストがサーバに割り当てられるかというように想定してください。たとえば、ウェイトを 135、270、および 595 に指定すると、サーバに送信されるリクエスト数の精度が増します。
- マシン 1 = 4
- マシン 2 = 2
- マシン 3 = 1
- マシン 4 = 1
ラウンドロビンロードバランスを設定するには、次の手順を実行します。
iPlanet レジストリエディタを開きます。
次のキーを 1 に設定します。
- エディタが開き、iPlanet Application Server に適用されるキーと値が表示されます。
次のキーを強調表示します。
「編集」から「値を追加」を選択します。
- SOFTWARE¥iPlanet¥Application Server¥6.5¥CCSO¥Loadb¥ServerWeights
ラウンドロビンロードバランスに含める各 iPlanet Application Server マシンの「Name」(IP アドレスとポート番号) および「Value」(ウェイト) を入力し、「Type」を「Integer」に設定します。
- 「値を追加」ダイアログボックスが開きます。
保存してエディタを閉じます。
- たとえば、次の IP アドレスを持つ 3 台の iPlanet Application Server マシン (KXS) を想定します。
- a. 204.211.222.54:10818
- b. 204.211.222.56:10819
- c. 204.211.222.59:10820
- 次の値を割り当てます。
- SOFTWARE¥iPlanet¥Application Server¥6.5¥CCSO¥LoadB¥ServerWeights
- 204.211.222.54:10818=3
- 204.211.222.56:10819=2
- 204.211.222.59:10820=1
- このウェイト方式では、Web コネクタプラグインは、6 リクエストごとに 3 リクエストをポート 10818 に、2 リクエストをポート 10819 に、1 リクエストをポート 10820 に転送します。
ユーザ定義条件ロードバランス
Web コネクタプラグインではなく、iPlanet Application Server が企業のロードバランスを制御する場合、ロードバランスサービスは、「サーバ負荷」または「アプリケーションコンポーネントクライテリア」に指定されたウェイト要因に基づいて、リクエストを処理する iPlanet Application Server マシンを決定します。これらの要因は、iASAT の「ロードバランス」ウィンドウを使って設定します。ウェイト要因を決定するときは、アプリケーションを適切に実行するために重要な要因を判断する必要があります。iASAT のウェイト要因は、iPlanet Application Server マシン上で動作する標準的なアプリケーションを基にしたデフォルト値に設定されています。特定のアプリケーションを最適化するには、「サーバ負荷クライテリア」または「アプリケーションコンポーネントクライテリア」のウェイト要因を調整します。
「サーバ負荷クライテリア」のウェイト要因の調整
「サーバ負荷クライテリア」のウェイト要因の調整
「サーバ負荷」値は、iPlanet Application Server がユーザリクエストを処理しているときに、マシンにかかる負荷を定量化したものです。「サーバ負荷」値は、各 iPlanet Application Server 内のロードバランスサービスによって、マシンごとに計算されます。「サーバ負荷クライテリア」のウェイト要因を調整すると、複数の iPlanet Application Server マシン間のアプリケーションリクエストの分散をシステムリソースに基づいて最適化することができます。「サーバ負荷」値は、アプリケーションコンポーネントパフォーマンス値を計算するときの条件の 1 つとして使われます。「サーバ負荷クライテリア」について次の表で説明します。
サーバ負荷クライテリア
説明
参照時にメモリになかったページへのメモリ参照を解決するために、ハードディスクドライブから読み込まれたまたはハードディスクドライブに書き込まれたページ数
各「サーバ負荷クライテリア」は、設定したウェイト要因の積が計算されます。その値平均が最終的な「サーバ負荷」値となります。「サーバ負荷」値は、アプリケーションコンポーネントパフォーマンス条件の 1 つとして使われます。
「サーバ負荷クライテリア」のウェイト要因を調整するには、次の手順を実行します。
iASAT ツールバーで「ロードバランス」をクリックして、「ロードバランス」ウィンドウを開きます。
「ロードバランス」ドロップダウンボックスから「ユーザ定義クライテリア (iAS 駆動)」を選択し、サーバがロードバランスを制御するように指定します。
「ロードバランス」ウィンドウの右側のペインで、スケールマーカーをスライドして各条件のウェイト要因を調整します。条件の詳細については、「「サーバ負荷クライテリア」のウェイト要因の調整」を参照してください。
以上の手順を終了したら、「変更の適用」をクリックして設定値を保存します。
- すべてのウェイト要因の合計は 100 になる必要があります。
アプリケーションコンポーネントパフォーマンスクライテリアのウェイト要因の調整
アプリケーションコンポーネントパフォーマンス値は、iPlanet Application Server マシン上で実行されるアプリケーションコンポーネントのパフォーマンスを示します。アプリケーションコンポーネントパフォーマンス値は、ロードバランスに含めるアプリケーションコンポーネントごとに計算されます。ロードバランスは、アプリケーションコンポーネント単位に行われ、分散を最適化します。アプリケーションコンポーネントパフォーマンス値には、5 つのアプリケーション条件があります。ロードバランスサービスは、各アプリケーション条件に割り当てたウェイト要因に基づいて iPlanet Application Server マシンを比較します。ウェイト要因の合計値が最大となるサーバで、そのアプリケーションコンポーネントへのリクエストが処理されます。条件について、次の表で説明します。
各アプリケーション条件は、ユーザが設定したウェイト要因の積が計算されます。その値の平均値が最終的なアプリケーションコンポーネントパフォーマンス値となります。ロードバランスサービスは、この値を使って、新しいユーザリクエストの処理に適した iPlanet Application Server マシンを決定します。
アプリケーションコンポーネントパフォーマンスクライテリアのウェイト要因を調整するには、次の手順を実行します。
iASAT ツールバーで「ロードバランス」をクリックして、「ロードバランス」ウィンドウを開きます。
「ロードバランス」ドロップダウンボックスから 「ユーザ定義クライテリア (iAS 駆動)」を選択し、サーバがロードバランスを制御するように指定します。
「アプリケーションコンポーネントクライテリア」タブをクリックします。
- 企業の要件に応じて、ウェイト要因を調整しきます。
「ロードバランス」ウィンドウの右側のペインで、スケールマーカーをスライドして各条件のウェイト要因を調整します。
以上の手順を終了したら、「変更の適用」をクリックして設定値を保存します。
- すべてのウェイト要因の合計は 100 になる必要があります。
更新およびブロードキャスト間隔の調整
iPlanet Application Server マシンが「サーバ負荷」およびアプリケーションコンポーネントパフォーマンス条件を更新する間隔を設定することができます。これらの値が頻繁かつ大幅に変化する場合は、間隔を調整して更新頻度を高くします。ただし、値を頻繁に更新すると、iPlanet Application Server マシンの負荷が増加します。条件値の更新頻繁が高くない場合は、更新期間を大きくするとサーバリソースを節約できます。この理論はブロードキャスト間隔の設定にも当てはまります。条件値が頻繁かつ大幅に変化する場合は、ブロードキャスト間隔を短くして、サーバを頻繁に更新します。サーバを頻繁に更新するとネットワークトラフィック負荷が増すため、最適な値に調整することが重要です。
ブロードキャスト間隔および更新間隔は、「ベースブロードキャスト / 更新間隔」に関連付けられています。「ベースブロードキャスト / 更新間隔」は、ロードバランスサービスが「起動」し、更新を行い、更新を受けとったかどうかをチェックし、新しい値をブロードキャストするときの間隔です。
ブロードキャスト間隔および更新間隔は、ベース間隔の偶数倍になっており、ロードバランスサービスが「起動」すると呼び出されます。つまり、ベース間隔が 300 秒で、「サーバ負荷」および「アプリケーションコンポーネントクライテリア」のブロードキャスト間隔がそれぞれ 900 秒の場合、これらの値は、ロードバランスサービスが 3 回起動するたびに 1 回ブロードキャストされます。残り 2 回のロードバランスサービスの起動時には、ロードバランスサービスは、各ブロードキャストの間に、他の iPlanet Application Server マシンから更新を受信したかどうかに基づいて分散順序を再評価します。
次の表では、各エンティティの更新間隔およびブロードキャスト間隔の設定方法について説明します。
表 14-3    「ブロードキャスト間隔」
間隔の設定項目
説明
間隔を更新およびブロードキャストするには、次の手順を実行します。
iASAT ツールバーで「ロードバランス」をクリックして、「ロードバランス」ウィンドウを開きます。
「ロードバランス」ウィンドウの左側のペインで、高度な設定を調整するサーバを選択します。
「ロードバランス」ドロップダウンボックスから 「ユーザ定義クライテリア (iAS 駆動)」を選択し、サーバがロードバランスを制御するように指定します。
「ロードバランス」ウィンドウの右側のペインで、各間隔パラメータの時間を基準時間の倍数で設定します。
ロードバランスのマルチキャストホストアドレスの変更
都市間ネットワークなど、ネットワーク間のアプリケーション負荷を均衡させるには、マルチキャストサーバのホストアドレスおよびポート番号を変更します。ネットワーク内では、衝突が発生しないかぎり、デフォルトアドレスを変更する必要はありません。マルチキャストホストアドレスを変更するには、次の手順を実行します。
iPlanet レジストリエディタを起動します。
MCastHost 文字列値をダブルクリックします。
- SOFTWARE¥iPlanet¥Application Server¥6.5¥GMS¥KES
値データとして、新しいホストの IP アドレスを指定し、「OK」をクリックします。
- 「文字列値」編集ダイアログボックスが表示されます。
値データとして、新しいホストのポート番号を指定し、「OK」をクリックします。
- 「DWORD」編集ダイアログボックスが表示されます。
- 新しいマルチキャストアドレスが有効になります。
前へ 目次 索引 DocHome 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最新更新日 2002 年 3 月 6 日