クラスタ
サーバー可用性インデックスは、サーバーの全処理能力に占める使用可能なサーバーの比率とほぼ同等です。たとえば、サーバー可用性インデックスが 65 を示している場合は、サーバーの処理能力の約 65% がまだ使用可能であることになります。社内で使用されているサーバーの容量とリソースはそれぞれ異なりますが、サーバー可用性インデックスは、各サーバーで同じ状況を示します。つまり、使用可能なサーバーの合計可用度を表します。
サーバー可用性インデックスは、拡張係数に基づいています。これはサーバー上の現行ワークロードを示しています。拡張係数は、特定のタイプのトランザクションの最新の応答時間と、サーバーが同じタイプのトランザクションを完了するために要した最短時間とを比較することによって決定されます。たとえば、サーバーが「データベースを開く」トランザクションを実行するのに現在平均 12 マイクロ秒かかっているとします。過去に同じトランザクションを実行したときの最短時間が 3 マイクロ秒であった場合、「データベースを開く」トランザクションの拡張係数は 4 になります (現在の時間 12 マイクロ秒を最短時間 3 マイクロ秒で割った数値)。つまり、拡張係数によって、トランザクションを現時点で完了するのに要する時間が、最適な条件で実行した場合の何倍になるかが分かります。
トランザクションの種類別の最短応答時間が、メモリと、サーバーが起動するたびに読み込まれる LOADMON.NCF ファイルに保存されます。サーバーが停止した場合、LOADMON.NCF ファイルは最新情報によって更新されます。
現在の拡張係数を判別するために、Lotus Domino では一定の期間にわたり、最も多く使用される Lotus Domino トランザクションの種類を追跡します。デフォルトでは、15 秒の期間で 5 回のトランザクション追跡を実行します。次に、各種類のトランザクション処理に要した平均時間を計算し、その時間を同じ種類のトランザクション処理に要した過去の最短時間で割ります。こうして、トランザクションの種類別に拡張係数が決定します。サーバー全体の拡張係数を決定するために、全種類のトランザクションに対する拡張係数の平均値を算出します。このとき、最も多く使用されるトランザクションの種類の数値に重み付けします。
サーバーがビジーになればなるほど、負荷の増加によって、パフォーマンスと可用性への影響が増大します。したがって、ビジーなサーバーの負荷を増やすと、ビジーでないサーバーの負荷を増やす場合よりも短時間で拡張係数が大きくなります。
サーバーの速度、処理能力、容量が異なれば、処理が可能な負荷も異なります。このため、2 つのサーバーの拡張係数が同じであっても、サーバーの能力に対する負荷は異なる場合があります。たとえば、サーバーが他には何もしていない場合でも、小さなサーバーではトランザクションの実行に長い時間がかかり、拡張係数 40 は、応答までかなりの秒数がかかることを意味します。一方、非常に大きな高速サーバーでは、拡張係数 400 は応答まで 1 秒もかからないことを示します。
可用性インデックスと拡張係数の比較 可用性インデックスを決定するために、Lotus Domino では、拡張係数を、使用可能なサーバーの全処理能力に対する比率の概数に変換する式を使用します。次の表に、拡張係数を可用性インデックスに変換した例を示します。
メモ 次の表の値は、サーバーが最大負荷に達したことを示す拡張係数が 64 の場合の値です。
サーバーが最大負荷に達したことを示す拡張係数の値を変更する Lotus Domino のワークロード均衡を効果的に使用するには、サーバーのワークロードがフェイルオーバーするレベルに達したときに、サーバーがフェイルオーバーするように拡張係数と可用性インデックスの関係を調整する必要があります。これは、サーバーが最大負荷に達したことを示す拡張係数の指定により行います。Lotus Domino でのデフォルトは 64 です。拡張係数がこの値に達すると、サーバーは最大負荷に達したとみなされ、可用性インデックスは 0 に低下します。
メモ Show AI サーバーコマンドを使用すると、可用性インデックスの推奨値を表示できます。
特に高性能な高速サーバーでは、最大負荷に達したとみなす拡張係数の値を増加させることができます。非常に高速なサーバーでは、この値を数百以上に設定できます。特に低速なサーバーでは、この値を低くできます。
サーバーが最大負荷に達したことを示す拡張係数の値を変更するには、NOTES.INI ファイルに次の設定を追加して、サーバーを再起動します。
SERVER_TRANSINFO_RANGE=n
n の値は、2 の n 乗が、サーバーが最大負荷に達したことを示す拡張係数に等しくなるよう設定します。n のデフォルト値は 6 で、2 の 6 乗は 64 のため、拡張係数は 64 となります。SERVER_TRANSINFO_RANGE を 7 に設定すると、サーバーが最大負荷に達したことを示す拡張係数は 128 となり、SERVER_TRANSINFO_RANGE を 8 に設定すると、この値は 256 になります。
SERVER_TRANSINFO_RANGE の最適値を決定するには、次の操作を実行します。
1 負荷が大きいときに、サーバー上の拡張係数をモニターします。コンソールコマンド show stat server.expansionfactor を使用してこれを実行できます。この間に、パフォーマンス統計もモニターできます。負荷が大きいときの拡張係数の値を多数記録し、サーバーが最大負荷に達したことを示す拡張係数の値を決定します。
2 2 の SERVER_TRANSINFO_RANGE 乗が手順 1 で選択した拡張係数の値となるよう、SERVER_TRANSINFO_RANGE の値を決定します。
サーバーが最大負荷に達したことを示す拡張係数の値を変更すると、拡張係数と可用性インデックスの関係が変化します。次の表に、SERVER_TRANSINFO_RANGE が 8 のときの拡張係数と可用性インデックスの関係を示します。2 の 8 乗は 256 であるため、この場合の最大拡張係数は 256 になります。
サーバーコマンド Show AI について詳しくは、「Show AI」を参照してください。
拡張係数の計算に使用されるデータ量を変更する 次の NOTES.INI 設定を使用すると、拡張係数を求めるために収集されるデータ量を変更できます。この変更は、通常は不要です。