配置された GeoAnalytics Server の設定を変更するためにいくつかのプロパティを構成できます。これらの設定をユーザーの組織に合わせて構成することは、GeoAnalytics Server のパフォーマンスを最適化する上で重要です。これらの設定を構成するときは、次のことを考慮に入れる必要があります。
- 実行される同時ジョブの数
- 使用されているデータのサイズ
- ジョブの実行頻度
- 利用可能なリソース
ポータル メンバーが実行する GeoAnalytics ツールは、ArcGIS Server サイトの GeoAnalyticsTools システム サービスのタスクを利用して処理を実行します。下記のシステム プロパティは GeoAnalytics Server サイト内で設定されるのに対して、サービス プロパティとインスタンスの数は GeoAnalyticsTools システム サービス自体に対して設定されます。パラメーターを変更する前に、すべての設定オプションに目を通して GeoAnalytics 構成を計画してください。
注意:
新しいバージョンの ArcGIS Enterprise にアップグレードすると、これらの GeoAnalytics Server 設定は保持されません。アップグレードの前に、変更した設定を記録し、アップグレードの完了後にもう一度設定してください。
このトピックでは、次の例を使用します。
- 例 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 パーセント、最大許容値は 90 パーセントです。指定した値が 1 CPU コア未満に換算される場合は、1 CPU コアが計算プラットフォーム ワーカー プロセス用に使用されます。
- percentageMaxAllowedComputeMemory - 単一ノード上の計算プラットフォーム ワーカー プロセスで使用される最大メモリを (1 台のコンピューター上で使用可能な合計メモリに対する割合として) 表します。デフォルト値は 80 パーセント、最大許容値は 90 パーセントです。
システム プロパティを編集するには、次の手順に従います。
- 管理者権限を持つユーザーとして ArcGIS Server Administrator Directory にログインします。URL の形式は http://gisserver.domain.com:6080/arcgis/admin/ です。
- [System] > [Properties] の順に移動します。
- [更新]をクリックします。
- 次に示す JSON 形式でプロパティを追加します。{ "percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>} たとえば、次のように指定します。{"percentageMaxAllowedComputeCores": 90, "percentageMaxAllowedComputeMemory": 90}
サービス プロパティ
GeoAnalyticsTools サービスには、ジョブあたりの最大許容メモリと CPU コア数を割り当てるための 2 つのサービス レベル プロパティがあります。デフォルトでは、コンピューター 1 台あたりの 6 GB と 4 CPU コアに設定されます。ユーザーのサイトで利用可能なメモリと CPU リソースに基づいてこれらのデフォルト値を適切な値に更新することをお勧めします。デフォルト値を使用すると、分散処理の利点を活用できないため、パフォーマンスが低下します。
注意:
管理者のみがサービス レベル プロパティを設定できます。サーバー サイト内のコアの数、および各コンピューター上の RAM の量を知る必要があります。これらの値がわからない場合は、GeoAnalytics の状態チェックを使用して、それらを見つけることができます。
次の式を使用して、コンピューターごとのジョブあたりの最大許容メモリ量を推定できます。
Floor(((percentageMaxAllowedComputeCores) * (total cores on the Server Site) / (number of simultaneous jobs)) = (Maximum allowed compute cores per job)
次の式を使用して、ジョブあたりの最大許容演算コア数を推定できます。
Floor((percentageMaxAllowedComputeMemory) * (GB of RAM on a single GeoAnalytics machine) / (number of simultaneous jobs)) = (Maximum allowed memory per job per machine)
注意:
コンピューターごとに使用されるメモリ量は、すべての GeoAnalytics Server コンピューター間で同じです。GeoAnalytics Server サイト内に RAM の量が異なる複数のコンピューターが存在する場合、RAM の量が最も小さいコンピューターの値を使用します。
例 1 では、利用可能な演算コア数と演算メモリの 80 パーセントまでを使用する必要があると仮定します (「システム プロパティ」を参照)。サイトの合計 CPU コア数が 12、RAM の総量が 48 GB (コンピューターごとに 16 GB) の場合、コア数および RAM の量は次の式を使用して決定されます。
- コア数:
Floor(((.80) * (12))/1) = Floor(9.6) = 9
- コンピューターごとの RAM の量:
Floor(((.80) * (16))/1) = Floor(12.8) = 12
GeoAnalytics Server で利用可能なリソースを活用して、サイトの複数のコンピューター間でタスクを分散するには、値を次のように更新します。
- 1 台のコンピューターにおけるジョブあたりの最大許容メモリ (GB): 12
- ジョブあたりの最大許容演算コア (CPU): 9
この設定により、確実にジョブがサイト内の 3 台のコンピューターに分散されるようになり、全コンピューターにわたって、利用可能なリソースの 80 パーセント弱が使用されるようになります。この割り当て設定は、下記で述べるように、インスタンスの数にも影響します。
例 2 では、利用可能な演算コア数と演算メモリの 80 パーセントまでを使用すること (「システム プロパティ」を参照) に加えて、同時に 2 つのジョブを実行できる必要があると仮定します。これは、2 つのジョブで常時リソースが設定される必要があることを意味します。サイトの合計 CPU コア数が 12、RAM の総量が 48 GB (コンピューターごとに 16 GB) の場合、コア数および RAM の量は次の式を使用して決定されます。
- コア数:
Floor(((.80) * (12))/2) = Floor(4.8) = 4
- コンピューターごとの RAM の量:
Floor(((.80) * (16))1) = Floor(6.4) = 6
GeoAnalytics Server で利用可能なリソースを活用して、サイトの複数のコンピューター間でタスクを分散するには、値を次のように更新します。
- 1 台のコンピューターにおけるジョブあたりの最大許容メモリ (GB): 6
- ジョブあたりの最大許容演算コア (CPU): 4
これらのプロパティを変更するには、次の手順を実行します。
- GeoAnalytics Server で、管理者権限を持つユーザーとして 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) のみが使用されます。
注意:
使用するメモリ量を選択するときは、コンピューター用のリソースとして設定された割合 (デフォルトは 80 パーセント) 以下の数値に設定してください。そうしないと、ジョブは実際には使用できないリソースを 1 分間待機した後に、「ERROR BD_101057: 分散ジョブを開始できません」というエラーを伴ってキャンセルされます。GeoAnalytics ツールのサービス設定で、ジョブを実行できるだけのリソースがあることを確認してください。他のジョブが使用しているためにリソースを使用できない場合にも、このエラーが表示されます。
GeoAnalyticsTools サービスの最大および最小インスタンス数
GeoAnalyticsTools サービスのデフォルトの最大および最小インスタンス数はサイト内の ArcGIS Server コンピューター 1 台あたり 1 つに設定されています。GeoAnalytics Server サイト内にあるコンピューターの台数 (n) に応じて、(n) 個のインスタンスで GeoAnalytics ジョブの受け入れが可能です。インスタンス数およびサービス プロパティで割り当てられたジョブあたりのメモリ量と CPU コア数に基づき、1 つ以上の同時リクエストの処理が可能になります。GeoAnalytics ツールに対する追加のリクエストはすべて、インスタンスまたはメモリと 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] サービスを見つけて、そのサービスの編集を選択します。
- [プール] タブの [サービス タイムアウトの指定] セクションで、サービスのタイムアウト プロパティを設定します。[クライアントがインスタンスを使用できる最大時間] を、新しいタイムアウト プロパティの時間 (秒単位) に変更します。
- [保存して再起動] をクリックして、サービスを更新します。
GeoAnalytics Serverテンポラリ ファイルの場所
タスクが GeoAnalytics Server で実行される場合、デフォルトでは、テンポラリ ファイルが \<ArcGIS Server installation directory>\server\framework\runtime\spark\work> フォルダーに書き込まれます。管理者は、下の手順に従って [geoAnalyticsTempFolder] プロパティを指定することによって、テンポラリ ファイルの別の場所を選択できます。
注意:
geoAnalyticsTempFolder の場所は、GeoAnalytics Server サイトの各コンピューター上のローカル ディレクトリである必要があり、非常に大きいデータセットに対する GeoAnalytics タスクの実行をサポートするには、かなりの量のディスク容量が使用可能である必要があります。
- 管理者権限を持つユーザーとして、GeoAnalytics Server サイトで ArcGIS Server Administrator Directory にログインします。URL の形式は http://gisserver.domain.com:6080/arcgis/admin/ です。
- [System] > [Properties] の順に移動します。
- [更新]をクリックします。
- 次に示す JSON 形式でプロパティを追加します。{"geoanalyticsTempFolder": "<value>"} たとえば、次のように指定します。{"geoanalyticsTempFolder": "C:\\temp"} 変更がシステム プロパティ ページに反映されるには、最大で 1 分かかります。
- [Compute Platform] の状態チェック サービスを使用して、GeoAnalytics Server の状態を確認してください。[System] > [Platform Services] > [Compute_Platform] の順に参照し、[health] をクリックします。