Secure Global Desktop 4.40 管理者ガイド
> アレイ、サーバー、負荷分散
> アプリケーションの負荷分散の設定
アプリケーションの負荷分散は、特定のアプリケーションのパフォーマンスを最適化するためのアプリケーションサーバーを選択することが目的です。アプリケーションを起動するときに、アプリケーションオブジェクトの「ホストしているアプリケーションサーバー」タブに指定されているアプリケーションサーバーを使用して、アプリケーションサーバーの候補リストが作成されます。次に、これらのうちユーザーにもっとも適した候補が決定されます。このとき、次の点が考慮されます。
このページでは、これらの項目および SGD の設定がアプリケーションサーバーの選択にどのように影響するかについて説明します。
アプリケーションが起動するときに、アプリケーションサーバーの候補リストの中で、現在使用できないサーバーがあるかどうかが確認されます。使用できないアプリケーションサーバーは、リストから削除されます。
Secure Global Desktop 管理者 は、SGD Administration Consoleでアプリケーションサーバーオブジェクトの「一般」タブの「アプリケーション起動」チェックボックスを選択解除することにより、そのアプリケーションサーバーを使用不可として指定することができます。この作業は、アプリケーションサーバーの保守中にアプリケーションサーバーを使用できない状態にする場合などに行います。
SGD Advanced Load Management を使用している場合は、負荷分散サービスから SGD に定期的に keep alive パケットが送信されます。これらのパケットが停止したアプリケーションサーバーについては接続が切断されていると見なされ、負荷分散サービスが接続を再度確立するまで使用できないサーバーとして処理されます。
負荷分散グループは、SGD サーバーとアプリケーションサーバーをまとめてグループ化するために使用します。ユーザーがアプリケーションを実行すると、SGD は、そのアプリケーションサーバーと同じグループにある SGD サーバー上でプロトコルエンジンを稼働させることを試みます。この処理は、グループ内のすべてのアプリケーションサーバーと SGD サーバーが高速リンクで接続されている場合に最適に機能します。
詳細は、「負荷分散グループ」を参照してください。
アプリケーションの起動時には、そのユーザーがいずれかのアプリケーションサーバー上でほかのアプリケーションをすでに実行中であるかどうかが考慮されます。この作業は、サーバーアフィニティーと呼ばれます。サーバーアフィニティーとは、ユーザーが最後に起動したアプリケーションと同じアプリケーションサーバー上で、アプリケーションを起動しようとすることです。
注 サーバーアフィニティーが有効に機能するには、アプリケーションが同じアプリケーションサーバーセットに関連付けられている必要があります。
サーバーアフィニティーはパーセントで表現されます。現在設定できる値は次の 2 つだけです。
0
- 実行中のアプリケーションはアプリケーションサーバーの選択に影響しません。100
- 選択されたアプリケーションを実行するときに、既存のアプリケーションサーバーができるだけ再利用される必要があります。これはデフォルト値です。サーバーアフィニティーの値を変更するには、次のコマンドを実行します。
$ tarantella config edit --tarantella-config-applaunch-appserveraffinity affinity_value
注 Windows アプリケーションを使用している場合、この値を変更することはお勧めしません。これは、複数のアプリケーションサーバーを使用する場合に、問題 (特にローミングプロファイルの問題) が発生するためです。また、同じアプリケーション群に属する複数のアプリケーションを互いに異なるサーバー上で実行すると、ライセンスの問題が発生することがあります。
SGD では、アプリケーションサーバーの相対的な処理能力を考慮して、アプリケーションの起動場所を決定できます。
相対的な処理能力は、パーセントで表現されます。デフォルトでは、すべてのサーバーに値 100 が割り当てられます。サーバーの weighting
負荷分散プロパティーを編集してその負荷係数を増減すると、SGD によってアプリケーションサーバーが選択される可能性を増減できます。これを使って次の操作を実行できます。
負荷係数の使用方法の詳細については、以降のセクションの負荷計算を参照してください。
2 つのアプリケーションサーバー london および paris が動作しています。paris の負荷係数は 50 で、 london の負荷係数は 100 です。その他のアプリケーション起動条件がすべて満たされていて、現時点でサーバーの負荷が同じ場合には、アプリケーションを起動するために選択される可能性は london の方が高くなります。
100 個のアプリケーションサーバーが動作していて、その中の 1 つだけを「より強力な」サーバーとして割り当てるとします。そのサーバーの負荷係数を 200 に増やします。
SGD では、もっとも負荷の少ないアプリケーションサーバーを選択する方式がいくつかサポートされています。
デフォルトの方式は、SGD Administration Console の「グローバル設定」»「パフォーマンス」タブで設定します。アプリケーションオブジェクトの「パフォーマンス」タブに異なる方式を指定することで、デフォルトを上書きできます。この方法を利用すれば、アプリケーションの負荷分散をさまざまな方法で行うことができます。
アプリケーションの負荷分散の方式として、次のものがサポートされています。
「最小 CPU 使用量」方式および「最大空きメモリー」方式では、ユーザーがアプリケーションを起動した時点のアプリケーションサーバーの実際の負荷が計算されます。これは Advanced Load Management と呼ばれます。Advanced Load Management を使用するには、すべてのアプリケーションサーバーに Sun Secure Global Desktop Enhancement Module がインストールされ、稼働している必要があります。Sun Secure Global Desktop Enhancement Module には負荷分散サービスが含まれています。このサービスは、アプリケーションサーバーの CPU やメモリーの負荷に関する情報を SGD にリアルタイムで提供します。また、これは、アプリケーションサーバーが使用可能かどうかを SGD が容易に検出できるようにもします。たとえば、リブートする場合などです。
注 Advanced Load Management で負荷を分散できるのは、Windows、X、および文字型アプリケーションだけです。
「最少アプリケーションセッション数」方式を使用した場合は、実行中のアプリケーションセッションがもっとも少ないアプリケーションサーバーが選択されます。この選択は、SGD から運用しているアプリケーションセッション数のみに基づいて行われます。
これはデフォルトの方式です。
アプリケーションの起動時にアレイからアプリケーションサーバーの負荷情報を取得できないなどの理由で、Advanced Load Management の使用で問題が発生した場合は、代わりに「最少アプリケーションセッション数」方式が使用されます。こうした状況は、プライマリ SGD サーバーを再起動しているときなどに発生することがあります。
アプリケーションサーバーの負荷計算には、次の数式が使用されます。
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 が選択されます。
「最小 CPU 使用量」方式を使用した場合は、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 がアプリケーションサーバーとして選択されます。
「最大空きメモリー」方式を使用した場合は、空き仮想メモリー容量のもっとも多いアプリケーションサーバーが選択されます。この方式は、大量のメモリーを必要とするアプリケーションに適しています。
この方式では、アプリケーションサーバーの実仮想メモリーと現在使用中のメモリー容量を比較して、アプリケーションサーバーの負荷が測定されます。測定は、負荷分散サービスが行います。
使用可能な容量の計算には、次の数式が使用されます。
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-2007 Sun Microsystems, Inc. All rights reserved.