配置された GeoAnalytics Server の設定を変更するために構成できるいくつかのプロパティがあります。これらの設定をユーザーの組織に合わせて構成することは、GeoAnalytics Server のパフォーマンスを最適化する上で重要です。これらの設定を構成するときは、次のことを考慮に入れる必要があります。
- 実行される同時ジョブの数
- 使用されているデータのサイズ
- ジョブの実行頻度
- 利用可能なリソース
ポータル メンバーが実行するビッグ データ分析ツールは、ArcGIS Server サイトの GeoAnalyticsTools システム サービスのタスクを利用して処理を実行します。下記のシステム プロパティは ArcGIS Server サイト内で設定されるのに対して、サービス プロパティとインスタンスの数は GeoAnalyticsTools システム サービス自体に対して設定されます。パラメーターを変更する前に、すべての設定オプションに目を通して GeoAnalytics 構成を計画してください。
このトピックでは、次の例を使用します。
- 例 1: 3 台のコンピューターがある GeoAnalytics Server サイトで、一度に 1 つのジョブを実行
- 例 2: 3 台のコンピューターがある GeoAnalytics Server サイトで、2 つのジョブを同時に実行
これらの例はいずれも、それぞれが 16 GB の RAM と 4 CPU コアを搭載した 3 台のコンピューター (ノード) で構成されます。合計すると、各 GeoAnalytics Server サイトでは 48 GB の RAM と 12 のコアを使用します。
注意:
GeoAnalytics に割り当てるメモリがコンピューター 1 台あたり 30 GB を超えないようにしてください。
システム プロパティ
次に示すプロパティは、オプション プロパティであり、サイト管理者が、ArcGIS Server サイトにある各コンピューター上の計算プラットフォーム ワーカー プロセス用に CPU とメモリを割り当てるために構成できます。
- percentageMaxAllowedComputeCores - 単一ノード上の計算プラットフォーム ワーカー プロセスで使用される最大 CPU コア数を (1 台のコンピューター上で使用可能な合計に対する割合として) 表します。デフォルトの最大許容値は 80 パーセントです。指定した値が 1 CPU コア未満に換算される場合は、1 CPU コアが計算プラットフォーム ワーカー プロセス用に使用されます。
- percentageMaxAllowedComputeMemory - 単一ノード上の計算プラットフォーム ワーカー プロセスで使用される最大メモリを (1 台のコンピューター上で使用可能な合計に対する割合として) 表します。デフォルトの最大許容値は 80 パーセントです。
システム プロパティを編集するには、次の手順に従います。
- 管理者権限を持つユーザーとして ArcGIS Server Administrator Directory にログインします。URL の形式は http://gisserver.domain.com:6080/arcgis/admin/ です。
- [System] > [Properties] の順に移動します。
- [Update] をクリックします。
- 次に示す JSON 形式でプロパティを追加します。{ "percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>}. たとえば、次のように指定します。{"percentageMaxAllowedComputeCores": 80, "percentageMaxAllowedComputeMemory": 80}
サービス プロパティ
GeoAnalyticsTools サービスには、ジョブあたりの最大許容メモリと CPU コア数を割り当てるための 2 つのサービス レベル プロパティがあります。デフォルトでは、コンピューター 1 台あたりの 6 GB と 4 CPU コアに設定されます。ユーザーのサイトで利用可能なメモリと CPU リソースに基づいてこれらのデフォルト値を適切な値に更新することをお勧めします。デフォルト値を使用すると、分散処理の利点を活用できないため、パフォーマンスが低下します。
これらのプロパティを変更するには、次の手順を実行します。
- 管理者権限を持つユーザーとして ArcGIS Server Manager にログインします。URL の形式は https://gisserver.domain.com:6443/arcgis/manager です。
- [サービス] タブで、[システム] フォルダーを選択します。
- 使用可能なサービスのリストで、[GeoAnalyticsTools] サービスを見つけて、そのサービスの編集を選択します。
- [パラメーター] タブで、サービスのプロパティを設定します。次のようなプロパティがあります。
- 1 台のコンピューターにおけるジョブあたりの最大許容メモリ (GB) - 1 台のコンピューターにおいて使用可能なジョブあたりのメモリ量 (GB) を表します。
- ジョブあたりの最大許容演算コア (CPU) - クラスターに含まれるすべてのコンピューターにおいて使用可能なジョブあたりの CPU コアの合計数を表します。
- 設定が完了したら、[保存して再起動] をクリックして、サービス プロパティを更新します。
初期値が変更されていない場合、GeoAnalytics タスクでは、利用可能なリソースの一部 (設定例で言うと、利用可能な 12 コアと 48 GB のうちの 4 コアと 18 GB) のみが使用されます。
例 1 で求められているのは、利用可能な演算コア数と演算メモリの 80 パーセントまでを使用することです (「システム プロパティ」を参照)。サイトの合計は 12 CPU コアと 48 GB RAM であるため、ノードあたりのメモリの 80 パーセントは 0.80 x 16 = 12.8 GB、ジョブあたりの演算コア数の 80 パーセントは 0.80 x 12 = 9.6 と計算できます。
GeoAnalytics Server で利用可能なリソースを活用して、サイトの複数のコンピューター間でタスクを分散するには、値を次のように更新します。
- 1 台のコンピューターにおけるジョブあたりの最大許容メモリ (GB): 12
- ジョブあたりの最大許容演算コア (CPU): 9
この設定により、確実にジョブがサイト内の 2 台を超えるコンピューターに分散されるようになり、全コンピューターにわたって、利用可能なリソースの 80 パーセント弱が使用されるようになります。この割り当て設定は、下記で述べるように、インスタンスの数にも影響します。
例 2 で求められているのは、利用可能な演算コア数と演算メモリの 80 パーセントまでを使用すること (「システム プロパティ」を参照) に加えて、同時に 2 つのジョブを実行できることです。これを実現するには、個々のジョブをそれぞれ、前述の例で設定した値の半分に設定します。これは、2 つのジョブで常時リソースが利用可能になることを意味します。サイトの合計は 12 CPU コアと 48 GB RAM であるため、ノードあたりのメモリの 40 パーセントは 0.40 x 16 = 6.4 GB、ジョブあたりの演算コア数の 40 パーセントは 0.40 x 12 = 4.8 と計算できます。
GeoAnalytics Server で利用可能なリソースを活用して、サイトの複数のコンピューター間でタスクを分散するには、値を次のように更新します。
- 1 台のコンピューターにおけるジョブあたりの最大許容メモリ (GB): 6
- ジョブあたりの最大許容演算コア (CPU): 4
注意:
使用するメモリ量を選択するときは、コンピューター用のリソースとして設定された割合 (デフォルトでは 80 パーセント) 以下の数値に設定してください。そうしないと、ジョブは実際には使用できないリソースを 1 分間待機した後に、「 ERROR BD_101057: 分散ジョブを開始できません」というエラーを伴ってキャンセルされます。GeoAnalytics ツールのサービス設定で、ジョブを実行できるだけのリソースがあることを確認してください。 他のジョブが使用しているためにリソースを使用できない場合にも、このエラーが表示されます。
GeoAnalyticsTools サービスの最大および最小インスタンス数
GeoAnalyticsTools サービスのデフォルトの最大および最小インスタンス数はサイト内の ArcGIS Server コンピューター 1 台あたり 1 つに設定されています。GeoAnalytics Server サイト内にあるコンピューターの台数 (n) に応じて、(n) 個のインスタンスで GeoAnalytics ジョブの受け入れが可能です。インスタンス数およびサービス プロパティで割り当てられたジョブあたりのメモリ量と CPU コア数に基づき、1 つ以上の同時リクエストの処理が可能になります。GeoAnalytics Toolsに対する追加のリクエストはすべて、インスタンスまたはメモリと CPU リソースが利用可能になるまで、キューに配置されます。1 分経過してもリソースが利用可能にならない場合、そのジョブはキャンセルされます。
ジョブあたり最大限のメモリ量と CPU コア数を割り当てることは、それらの割り当てを必要とするジョブに推奨される設定です。
複数のジョブを同時に処理する場合、サイト内のコンピューター 1 台あたりのインスタンス数が複数個になるように、必要に応じて最大インスタンス数を増やすことができます。ただし、各同時ジョブで十分な CPU およびメモリ リソースが利用可能になるように、ジョブあたりの CPU とメモリの制限を変更する必要もあります。
GeoAnalyticsTools サービスの最小および最大インスタンス数を設定するには、次の手順を実行します。
- ArcGIS Server Administrator Directory にログインします。URL の形式は https://gisserver.domain.com:6443/arcgis/admin です。
- [Services] > [System] > [GeoAnalyticsTools] の順に移動します。
- [Edit] をクリックします。
- [maxInstancesPerNode] プロパティと [minInstancesPerNode] プロパティを編集して、[Save Edits] をクリックします。
3 台のコンピューターの例では、合計で 3 個のインスタンスを使用できれば、例 1 と例 2 のどちらの使用例にも十分に対応できます。この 3 台のコンピューターの例で 4 つ以上の同時ジョブを実行するには、CPU とメモリの制限を調整することに加えて、インスタンス数も更新する必要があります。
すべてのインスタンスにおける合計 CPU とメモリの制限は、CPU とメモリのシステム制限よりも小さい値でなければなりません。ノードあたりの合計メモリにインスタンス数を乗算した値は、1 台のコンピューター上で使用可能な値未満でなければならず (つまり、(16 GB x 0.80) / 2 インスタンス = 6.4 は整数 6 に設定する)、演算コア数は、合計コア数をインスタンス数で除算した値未満でなければなりません (つまり、(12 コア x .80) / 2 インスタンス = 4.8 は 4 に設定する)。
GeoAnalyticsTools サービスのタイムアウト
デフォルトでは、GeoAnalyticsTools サービスで処理される長時間のジョブは 24 時間後にタイムアウトになります。ツールが、より長い期間またはより短い期間実行された後にタイムアウトになるように、このプロパティを調整することができます。GeoAnalyticsTools サービスのタイムアウト プロパティを編集するには、ArcGIS Server Manager で、次の手順を実行します。
- ArcGIS Server Manager にログインします。URL の形式は https://gisserver.domain.com:6443/arcgis/manager です。
- [サービス] タブで、[システム] フォルダーを選択します。
- 使用可能なサービスのリストで、[GeoAnalyticsTools] サービスを見つけて、そのサービスの編集を選択します。
- [プール] タブの [サービス タイムアウトの指定] セクションで、サービスのタイムアウト プロパティを設定します。[クライアントがインスタンスを使用できる最大時間] を、新しいタイムアウト プロパティの時間 (秒単位) に変更します。
- [保存して再起動] をクリックして、サービスを更新します。