Secure Global Desktop 4.31 管理者ガイド
> アレイ、サーバー、負荷分散
> アプリケーションサーバー負荷分散の設定
アプリケーションサーバーの負荷分散は、特定のアプリケーションのパフォーマンスを最適化するためのアプリケーションサーバー (ホストオブジェクト) を選択することが目的です。アプリケーションを起動するときに、アプリケーションオブジェクトの「Hosts」タブに指定されているアプリケーションサーバーを使用して、アプリケーションサーバーの候補リストが作成されます。次に、これらのうちユーザーにもっとも適した候補が決定されます。このとき、次の点が考慮されます。
このトピックでは、これらの項目および Secure Global Desktop の設定がアプリケーションサーバーの選択にどのように影響するかについて説明します。
アプリケーションが起動するときに、アプリケーションサーバーの候補リストの中で、現在使用できないサーバーがあるかどうかが確認されます。使用できないアプリケーションサーバーは、リストから削除されます。
Secure Global Desktop 管理者 は、Object Manager でホストオブジェクトの「Available to run applications」属性のチェックマークを消すことにより、そのアプリケーションサーバーを使用できない状態にすることができます。この作業は、アプリケーションサーバーの保守中にアプリケーションサーバーを使用できない状態にする場合などに行ないます。
Secure Global Desktop Advanced Load Management を使用している場合は、負荷分散サービスから Secure Global Desktop に定期的に keep alive パケットが送信されます。これらのパケットが停止したアプリケーションサーバーについては接続が切断されていると見なされ、負荷分散サービスが接続を再度確立するまで使用できないサーバーとして処理されます。
Secure Global Desktop は、インテリジェントアレイルーティングを使用して、Secure Global Desktop サーバーとアプリケーションサーバー間で高速リンクを使って接続を確立します。
Secure Global Desktop のプロトコルエンジンは、アプリケーションサーバーと Secure Global Desktop サーバー間で使用されるネイティブプロトコル (X11 など) を Secure Global Desktop サーバーとクライアントデバイス間で使用される Adaptive Internet Protocol (AIP) に変換します。AIP は低帯域幅用に最適化されており、一般に Secure Global Desktop サーバーとアプリケーションサーバーの間では高速リンクを使用するのが最適であり、サーバー間はネットワーク用語でいう「近く」になります。
ただし、ネットワークに低速リンクが含まれている場合、アレイの各メンバーの「ロケーション」と各アプリケーションサーバーの「ロケーション」を特定することにより、アプリケーションの運用性を最適化できます。インテリジェントアレイルーティングは、アプリケーションサーバーと同じロケーションにある Secure Global Desktop サーバー上でプロトコルエンジンを稼働させることを試みます。同一ロケーションのすべてのサーバーが高速リンクで接続されていることを確認する必要があります。
アレイの各メンバーのロケーションは Array Manager で定義し、各アプリケーションサーバーのロケーションは Object Manager で定義します。
アプリケーションの起動時には、そのユーザーがいずれかのアプリケーションサーバー上でほかのアプリケーションをすでに実行中であるかどうかが考慮されます。この作業は、サーバーアフィニティーと呼ばれます。サーバーアフィニティーとは、ユーザーが最後に起動したアプリケーションと同じアプリケーションサーバー上で、アプリケーションを起動しようとすることです。
注 サーバーアフィニティーが有効に機能するには、アプリケーションが同じホストセットに関連付けられている必要があります。
サーバーアフィニティーはパーセントで表現されます。現在設定できる値は次の 2 つだけです。
0
- 実行中のアプリケーションはアプリケーションサーバーの選択に影響しません。100
- 選択されたアプリケーションを実行するときに、既存のアプリケーションサーバーができるだけ再利用される必要があります。これはデフォルト値です。サーバーアフィニティーの値を変更するには、次のコマンドを実行します。
tarantella config edit --tarantella-config-applaunch-appserveraffinity affinity_value
注 Windows アプリケーションを使用している場合、この値を変更することはお勧めしません。これは、複数のアプリケーションサーバーを使用する場合に、問題 (特にローミングプロファイルの問題) が発生するためです。また、同じアプリケーション群に属する複数のアプリケーションを互いに異なるサーバー上で実行すると、ライセンスの問題が発生することがあります。
Secure Global Desktop では、アプリケーションサーバーの相対的な処理能力を考慮して、アプリケーションの起動場所を決定できます。
対的な処理能力は、パーセントで表現されます。デフォルトでは、すべてのサーバーに値 100 が割り当てられます。サーバーの weighting
負荷分散プロパティーを編集してその負荷係数を増減すると、Secure Global Desktop によってアプリケーションサーバーが選択される可能性を増減できます。次の場合に、この機能を使用できます。
負荷係数の使用方法の詳細については、後述の負荷計算を参照してください。
2 つのアプリケーションサーバー london および paris が動作しています。paris の負荷係数は 50 で、 london の負荷係数は 100 です。その他のアプリケーション起動条件がすべて満たされていて、現時点でサーバーの負荷が同じ場合には、アプリケーションを起動するために選択される可能性は london の方が高くなります。
100 個のアプリケーションサーバーが動作していて、その中の 1 つだけを「より強力な」サーバーとして割り当てるとします。そのサーバーの負荷係数を 200 に増やします。
Secure Global Desktop は、負荷分散アルゴリズムを使用して、負荷のもっとも少ないアプリケーションサーバーを選択します。
アレイ全体のデフォルトアルゴリズムは、Array Manager の「Load Balancing Properties」パネルで設定します。アプリケーションオブジェクトに異なるアルゴリズムを指定することで、デフォルトを上書きできます。この方法を利用すれば、アプリケーションの負荷分散をさまざまな方法で行うことができます。
現在のところ、次の 3 つのアルゴリズムがサポートされています。
CPU/メモリーベースのアルゴリズムを使用する場合は、すべてのアプリケーションサーバー上で Sun Secure Global Desktop Enhancement Module をインストールおよび実行する必要があります。
注 CPU/メモリーベースのアルゴリズムで負荷を分散できるのは、Windows、X、および文字型アプリケーションだけです。
Fewest application sessions アルゴリズムを使用した場合は、実行中のアプリケーションセッションがもっとも少ないアプリケーションサーバーが選択されます。この選択は、Secure Global Desktop から運用しているアプリケーションセッション数のみに基づいて行なわれます。
これはデフォルトのアルゴリズムです。
アプリケーションの起動時にアレイからアプリケーションサーバーの負荷情報を取得できないなどの理由で、CPU またはメモリーベースのアルゴリズムの使用で問題が発生した場合は、代わりに Fewest application sessions アルゴリズムが使用されます。こうした状況は、プライマリ Secure Global Desktop サーバーを再起動しているときなどに発生することがあります。
アプリケーションサーバーの負荷計算には、次の数式が使用されます。
number of application sessions x 100 /server weighting
現在、アプリケーションサーバー london では 10 個のアプリケーションセッションが動作しています。負荷係数値は 100 です。
現在、アプリケーションサーバー paris では 12 個のアプリケーションセッションが動作しています。負荷係数値は 100 です。
london の負荷値は、次のとおりです。
10 x 100/100 = 10
paris の負荷値は、次のとおりです。
12 x 100/100 = 12
その他のアプリケーション起動条件が満たされている場合は、それ以降の 2 つのアプリケーションセッションの起動に london が使用されます。london のサーバー負荷係数値を 50 に下げた場合、london の負荷は 20 (10 x 100 / 50) になるため、それ以降の 8 個のアプリケーションセッションの起動には paris が選択されます。
Least CPU usage アルゴリズムを使用した場合は、CPU アイドル時間のもっとも長いアプリケーションサーバーが選択されます。このアルゴリズムは、プロセッササイクルを大量に必要とするアプリケーションに適しています。
このアルゴリズムでは、アプリケーションサーバーの負荷が CPU 性能 (単位は bogomips) および CPU 使用量に基づいて測定されます。測定は、負荷分散サービスが行ないます。
使用可能な容量の計算には、次の数式が使用されます。
(bogomips x cpu idle %) x weighting /100
アプリケーションサーバー london の CPU 性能は 500 bogomips、サーバー負荷係数値は 75、CPU アイドル率は 25% です。
アプリケーションサーバー paris の CPU 性能は 100 bogomips、サーバー負荷係数値は 100、CPU アイドル率は 50% です。
london の使用可能な容量は、次のとおりです。
(500 x 25) x 75/100 = 9375
paris の使用可能な容量は、次のとおりです。
(100 x 50) x 100/100 = 5000
その他のアプリケーション起動条件が満たされている場合は、paris の方が CPU 使用率が低く、サーバーの負荷係数値が高くても、london がアプリケーションサーバーとして選択されます。
Most free memory アルゴリズムを使用した場合は、空き仮想メモリー容量のもっとも多いアプリケーションサーバーが選択されます。このアルゴリズムは、大量のメモリーを必要とするアプリケーションに適しています。
このアルゴリズムでは、アプリケーションサーバーの実仮想メモリーと現在使用中のメモリー容量を比較して、アプリケーションサーバーの負荷が測定されます。測定は、負荷分散サービスが行ないます。
使用可能な容量の計算には、次の数式が使用されます。
virtual memory free x weighting /100
アプリケーションサーバー london のサーバー負荷係数値は 100、仮想メモリーの空き容量は 250M バイトです。
アプリケーションサーバー paris のサーバー負荷係数値は 75、仮想メモリーの空き容量は 500M バイトです。
london の使用可能な容量は、次のとおりです。
250 x 100/100 = 250
paris の使用可能な容量は、次のとおりです。
500 x 75/100 = 375
その他のアプリケーション起動条件が満たされている場合は、paris がアプリケーションサーバーとして選択されます。
Copyright © 1997-2006 Sun Microsystems, Inc. All rights reserved.