キャッシュを作成するためのサーバ リソースの割り当て
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 サービスは、常に同じクラスタで実行する必要があります。