キャッシュを作成するためのサーバー リソースの割り当て
このトピックの内容
ArcGIS Server は、CachingTools というジオプロセシング サービスを用いてキャッシュ タイルを作成します。このサービスは、ArcGIS Server サイトを作成するときに自動的にシステム フォルダーに構成されます。CachingTools サービスに使用できるインスタンスの数により、コンピューターがどれだけの能力をキャッシュ ジョブに割り当てられるかが決まります。
また、キャッシュ作成を実行しているマップ、グローブ、またはイメージ サービスのインスタンスは少なくとも 1 つ実行しておく必要があります。マップ、グローブ、またはイメージ サービスのインスタンス数を増やしても、タイルの作成速度には影響しません。
レガシー:
10.0 以前のバージョンでは、キャッシュ ジョブに割り当てられるオペレーティング システムのプロセス数を増やすために、キャッシュされるマップまたはグローブ サービスのインスタンス数を増やしていました。10.1 以降のリリースでは、CachingTools のジオプロセシング サービスのインスタンス数を増やします。
CachingTools サービスに対して許可するインスタンス数の選択
ArcGIS Server Manager で、キャッシュ ジョブに割り当てられる CachingTools の ジオプロセシング サービスの最大インスタンス数を調整できます。最小値と最大値は、個々の GIS サーバーに適用されます。そのため、最大値を 3 に設定し、CachingTools サービスを実行するクラスター内に GIS サーバーが 4 つある場合、最大 12 の CachingTools のインスタンスを実行できるようになります。
この設定により、サイトから GIS サーバーを追加または削除することで、キャッシュに割り当てるリソース数を増減することができます。GIS サーバーは、キャッシュ ジョブの実行中や、作成するタイルのジョブを割り当て状態であっても追加することができます。
CachingTools サービスに対して許可するインスタンスの数が多すぎると、コンピューターの負荷が大きくなり効率が低下する可能性があります。インスタンスの数が少なすぎると、コンピューターの使用率が低下する場合があります。最適な値を見つけるには試行錯誤が必要です。この場合、許可するインスタンスの最大数に対して n + 1 の初期値を使用すると最適です。n は、クラスター内の 1 台のコンピューターが搭載する CPU コアの数を表します。サイトを Amazon Web Services に配置する場合は 2n + 1 を使用します。n は、サイト内の単一の EC2 インスタンスが備える仮想コアの数です。
CachingTools サービスは、[非同期] の実行モードで実行する必要があります。これがデフォルト値です。
キャッシュ ジョブに割り当てるインスタンス数の選択
[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] などのツールを使用すると、ジョブで動作する CachingTools のインスタンスの数を選択できます。利用可能な CachingTools のインスタンスを実行中のいくつかのジョブの間で分割することができます。それらのインスタンスが他のジョブで使用されている場合、あるジョブでは、CachingTools の最大インスタンス数まで利用できない可能性があります。キャッシュ ジョブが CachingTools のすべてのインスタンスを使用している場合、リクエストされた他のジョブは最初のジョブが完了するまでキューに配置されます。
シナリオ
キャッシュを作成しようとしていて、1 クラスターのサイトに 4 つの GIS サーバーがあるとします。各サーバーは、最大で 5 つの CachingTools インスタンスを許可するように構成しています。キャッシュ ジョブに割り当てることができるインスタンスの最大数は 20 です。
このサイトで同時に 2 つのキャッシュ ジョブを実行し、負荷を均等に分散する場合は、各ジョブに対して 10 のインスタンスを割り当てることができます。
柔軟な設定が可能
必要に応じて GIS サーバーを自動的に追加できるクラウド環境でサイトを構成している場合があります。そのようなケースでは、ジョブの実行が、固定された最大インスタンス数によって制限を受けるのは望ましくありません。そうした場合には、値に -1 を入力することで、ジョブで実行できるインスタンス数の制限をなくすことができます。サイトに追加される GIS サーバーの数に関係なく、利用可能な CachingTools のすべてのインスタンスがそのジョブに使用されます。
同時に実行可能なジョブ数の設定
多数の公開者がキャッシュを構築する要求を同時に開始すると、各ジョブに割り当てるインスタンス数を少なくしている場合でも、サーバーに負荷がかかりすぎる場合があります。システム フォルダーにある CachingControllers サービスは、同時に実行できるジョブの数を決定します。
デフォルトでは、CachingControllers サービスに対するインスタンスの最大数は 3 です。これは、キャッシュ ジョブを一度に 3 つしか実行できないことを意味します。4 つ目のキャッシュ ジョブの要求をサーバーが受信した場合、この要求は他のジョブが完了するまでキューに格納されます。一度に 4 つのジョブの実行を許可する場合は、CachingControllers の最大インスタンス数を 4 に設定します。
クラスターの使用
クラスターは、GIS サーバーのサブセット間で処理を分散するために、大規模な ArcGIS サイトで利用されます。キャッシュ ジョブは柔軟で、クラスター内で CachingTools サービスを実行しているすべての GIS サーバーに分散されます。
最初にサイトを構成したときは、default というクラスターが 1 つだけあります。キャッシュ ジョブをコンピューター群のサブセットに限定する場合、新しいクラスターを作成し、CachingTools サービスをそのクラスター上で実行するように割り当てる必要があります。その後、その他のサービスは異なるクラスターに割り当て、キャッシュ ジョブのプロセスによってオーバーランしないようにできます。
CachingTools ジオプロセシング サービスと同じクラスター内で実行していないサービスのキャッシュを作成できます。たとえば、Spain というマップ サービスがクラスター A で実行され、CachingTools サービスがクラスター B で実行されている場合があります。この構成でも、Spain のキャッシュを作成できます。
CachingTools サービスと CachingControllers サービスは、常に同じクラスターで実行する必要があります。