キャッシュを作成するためのサーバ リソースの割り当て
ArcGIS Server は、CachingTools というジオプロセシング サービスを用いてキャッシュ タイルを作成します。このサービスは、ArcGIS Server サイトを作成するときに自動的にシステム フォルダに構成されます。CachingTools サービスに使用できるインスタンスの数により、コンピュータがどれだけの能力をキャッシュ ジョブに割り当てられるかが決まります。
また、キャッシュ作成を実行しているマップ、グローブ、またはイメージ サービスのインスタンスは少なくとも 1 つ実行しておく必要があります。マップ、グローブ、またはイメージ サービスのインスタンス数を増やしても、タイルの作成速度には影響しません。
ArcGIS 10.0 以前のバージョンでは、キャッシュ ジョブに割り当てられるオペレーティング システムのプロセス数を増やすために、キャッシュされるマップまたはグローブ サービスのインスタンス数を増やしていました。10.1 では、CachingTools のジオプロセシング サービスのインスタンス数を増やします。
Manager で、キャッシュ ジョブに割り当てられる CachingTools の ジオプロセシング サービスの最大インスタンス数をいつでも調整できます。最小値と最大値は、個々の GIS サーバに適用されます。そのため、最大値を 3 に設定し、CachingTools サービスを実行するクラスタ内に GIS サーバが 4 つある場合、最大 12 のCachingTools のインスタンスを実行できるようになります。
この設定により、サイトから GIS サーバを追加または削除することで、キャッシュに割り当てるリソース数を増減することができます。GIS サーバは、キャッシュ ジョブが実行中であったり、作成するタイルのジョブを割り当て状態であっても追加することができます。
キャッシュ ジョブに割り当てるインスタンス数の選択
キャッシュ ジョブを実行するときには、CachingTools サービスの 1 つのインスタンスがコントローラ インスタンスとして機能します。このインスタンスは、1 つ以上のワーカ インスタンスに割り当てを分配します。実際にタイルを変更するのはこのワーカ インスタンスです。少なくとも 1 つのコントローラと 1 つのワーカ インスタンスが使用できるようにするには、CachingTools に使用できるインスタンスの最大数を常に 2 以上にする必要があります。
[マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] などのツールを使用すると、ワーカ インスタンスとして指定する CachingTools のインスタンスの数を選択できます。いくつに指定すればよいかわからない場合は、クラスタ内の GIS サーバの CPU コアの数に 1 を加えた数を採用します。理想的なインスタンス数は、サービスの性質によって異なりますが、まずはこの数字で始めてみるとよいでしょう。
入力できるインスタンスの最大数を計算するには、CachingTools クラスタ内の GIS サーバ コンピュータの数に、コンピュータごとの実行可能な CachingTools の最大インスタンス数を掛けます。次に、コントローラ インスタンスの 1 を引きます。
利用可能な CachingTools のインスタンスを実行中のいくつかのジョブの間で分割することができます。それらのインスタンスが他のジョブで使用されている場合、あるジョブでは、CachingTools の最大インスタンス数まで利用できない可能性があります。キャッシュ ジョブが CachingTools のすべてのインスタンスを使用している場合、リクエストされた他のジョブは最初のジョブが完了するまでキューに配置されます。
シナリオ
キャッシュを作成しようとしていて、1 クラスタのサイトに 3 つの GIS サーバがあるとします。各サーバでは、最大 4 つの CachingTools のインスタンスを実行できます。キャッシュ ジョブに割り当てることができるインスタンスの最大数は (3 * 4) - 1 = 11 です。[マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] またはその他のキャッシュ ツールでは、これを超える値は入力できません。
このサイトで 2 つのキャッシュ ジョブを同時に実行し、負荷を均等に分散したい場合、各ジョブに割り当てるインスタンス数は (12 - 2)/2 = 5 になります。つまり、サイトで利用できるインスタンスの合計数(3 * 4 = 12)からコントローラ インスタンス数の 2 を引き、ジョブ数の 2 で割ります。
柔軟な設定が可能
必要に応じて GIS サーバを自動的に追加できるクラウド環境でサイトを構成している場合があります。そのようなケースでは、ジョブの実行が、固定された最大インスタンス数によって制限を受けるのは望ましくありません。そうした場合には、値に -1 を入力することで、ジョブで実行できるインスタンス数の制限をなくすことができます。サイトに追加される GIS サーバの数に関係なく、利用可能な CachingTools のすべてのインスタンスがそのジョブに使用されます。
クラスタの使用
クラスタは、GIS サーバのサブセット間で処理を分散するために、大規模な ArcGIS サイトで利用されます。キャッシュ ジョブは柔軟で、クラスタ内で CachingTools サービスを実行しているすべての GIS サーバに分散されます。
最初にサイトを構成したときは、default というクラスタが 1 つだけあります。キャッシュ ジョブをコンピュータ群のサブセットに限定する場合、新しいクラスタを作成し、CachingTools サービスをそのクラスタ上で実行するように割り当てる必要があります。その後、その他のサービスは異なるクラスタに割り当て、キャッシュ ジョブのプロセスによってオーバーラインしないようにできます。
CachingTools ジオプロセシング サービスと同じクラスタ内で実行していないサービスのキャッシュを作成できます。たとえば、Spain というマップ サービスがクラスタ A で実行され、CachingTools サービスがクラスタ B で実行されている場合があります。この構成でも、Spain のキャッシュを作成できます。