マップ キャッシュの作成速度の向上
このトピックの内容
広いエリアに対して大きな縮尺のキャッシュを作成するには、長い時間がかかる場合があります。このトピックでは、キャッシュの作成速度に影響する主な要因について説明します。より詳しい注意事項については、「マップ キャッシュのヒントとベスト プラクティス」をご参照ください。
ローカル ファイル ジオデータベースの使用
ソース GIS データセットのコピーをサーバーに配置できる場合、キャッシュ作成中の速度と安定性は大きく向上します。キャッシュ処理ではデータに対する大量の要求が発生するため、これらの要求をコンピューター内で処理できる場合、タイルはより高速に描画されます。
理想的な方法では、クラスター内の各 GIS サーバー コンピューターに、同一のファイル ジオデータベースを同一のパスで配置します。ファイル ジオデータベースのローカル フォルダーを ArcGIS Server にデータ ストア アイテムとして登録します。マップ ドキュメント内では、データのローカル パスを使用します。
リアルタイム投影の回避
最高のパフォーマンスを実現するには、ソース データをマップと同じ座標系に投影し、リアルタイム投影を回避するようにします。一般的には、作業中のデータベースに Web メルカトルなどの投影変換を適用することは好まれません。ただし、サーバーに置くデータを本番データベースの一方向レプリカとすることで、キャッシュの作成とユーザー クエリの実行だけに使用することができます。
アンチエイリアス レベルの選択とその注意点
アンチエイリアスは、ラインやラベルの縁を滑らかにしてピクセルが目立たないようにするための手法です。テキストのアンチエイリアスはパフォーマンスにほとんど影響しませんが、フィーチャのアンチエイリアスはキャッシュ速度を低下させる負荷の高い処理です。
フィーチャにある程度のアンチエイリアスを適用することで、ベクター マップの見た目はより専門的になります。ただし、アンチエイリアスの品質を高くすると、キャッシュの作成にかかる時間が大きく増加することに注意してください。ほとんどのキャッシュでは、[最速] または [高速] の設定で十分な結果が得られます。[高品質] などの品質の高い設定は、テスト キャッシュでその品質レベルが必要であることが確認されていない限り、避けるようにしてください。
過負荷を回避した CPU の利用
最高速でタイルを作成するには、タイル作成中に CPU の使用率がほぼ 100 パーセントになるようにします。ただし、100 パーセントに達しないようにする必要があります。システムのアクティビティは、Windows のタスク マネージャーまたはパフォーマンス モニターを使用して監視できます。
マップにはそれぞれ違いがあるため、CPU の使用率を理想的なレベルにするには、キャッシュ設定に関して試行錯誤が必要です。キャッシュ作成に割り当てるサーバー リソースに影響するのは、主に次の 2 つの設定です。
- クラスター内の各コンピューターで実行できる CachingTools サービスのインスタンスの最大数 - この設定の適切な初期値は n + 1 です。n は、クラスター内の一般的なコンピューターに搭載されている CPU コアの数です。
- クラスター全体でキャッシュ ジョブに使用できる CachingTools のインスタンスの最大数 - 適切な初期値は、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] を実行したときに表示されるデフォルト値です。この設定は、クラスター内のコンピューターの数と、それぞれで実行可能な CachingTools インスタンスの最大数を反映します。キャッシュ ジョブ中に他の GIS サーバー コンピューターを追加する予定の場合は、「-1」を入力して、インスタンス数の上限を無効にします。
上で推奨している値は、各自でテストを繰り返す際の初期値です。これらの値を設定する際の詳細と計算式については、「キャッシュを作成するためのサーバー リソースの割り当て」をご参照ください。
必要なタイルだけを作成する
マップのすべての範囲に対して、すべての縮尺でタイルを作成する必要はありません。頻繁にアクセスされるタイルもあれば、まったくアクセスされないタイルもあります (特に、大きな縮尺に対してデータがまばらな場合)。
キャッシュ ジョブを開始する前に、あらかじめ生成しておく必要がある地理データおよび縮尺と、オンデマンドで生成可能な (または、「キャッシュに関する一般的な質問」で説明するように「データは利用不能」タイルで表示する) タイルを慎重に計画します。小さい縮尺は、必要なタイルが比較的少ないため問題になりません。大きな縮尺ではより計画的な手法が必要です。
マップの最も重要な領域を定義するフィーチャクラスを作成します。大縮尺のキャッシュを作成するときには、このフィーチャクラスを使用してタイルの作成を制限します。多数の頂点を持つフィーチャクラスでは、キャッシュ ツールの速度が低下する可能性があります。したがって、[ポリゴン単純化 (Simplify Polygon)] などのツールを使用して、まずポリゴンを単純化しなければならない場合があります。
計画によっては、地理データの重要でない領域の多数のタイルや、フィーチャを含まないタイルの作成を避けることができます。
その他のヒント
最後に、キャッシュの作成速度を向上するためのその他のヒントを示します。
- エクスプロード形式のキャッシュを避けます。この形式は生成に時間がかかり、取り扱いも面倒です。デフォルトのコンパクト形式を使用してください。
- アンチウイルス ソフトウェアが、キャッシュ生成用のリソースを消費している場合があります (特に、新規ファイルが作成時にスキャンされる場合)。メモリまたは CPU リソースの使用に関して、アンチウイルス ソフトウェアが ArcGIS Server と競合していると思われる場合は、キャッシュの構築中にアンチウイルス ソフトウェアを一時的に無効化または停止する権限を、システム管理者から取得してください。
- 必要なディスク領域の量よりも速度のほうが問題となる場合は、ArcGIS 10.1 で導入された最適化された PNG 形式のキャッシュを使用しないようにします。この形式はキャッシュ サイズを大きく削減しますが、タイルごとに最適なビット深度を計算する必要があるため、キャッシュの構築に長い時間がかかる場合があります。代わりに、MIXED 形式の使用を検討してください。
- 公開前にマップ ドキュメントを解析する際に、パフォーマンスに関する警告を可能な限り修正します。たとえば、データセットに空間インデックスがない場合は解析ツールの警告が表示されます。時間をかけて空間インデックスを構築しておくことで、マップ サービスの描画とタイル作成をさらに高速化できます。