サーバ ログを使用したマップ サービスのパフォーマンスのトラブルシューティング

[冗長] のログ レベルを使用すると、レイヤ描画レベルまでの詳細ログを利用できます。詳細ログは、パフォーマンスのトラブルシューティングに特に役に立ちます。このトピックでは、描画が期待されるほど速くないマップ サービスがあるというシナリオについて考えます。

マップ描画中の動作をより詳細に確認する必要がある場合は、ArcGIS Server Manager の [ログ] モジュールにアクセスし、ログを [冗長] レベルで有効にします。続いて、マップ サービスにリクエストを行い、結果のログを確認します。これを行うには、次の手順に従ってください。

手順:
  1. Manager を開き、ログインします。この手順のヘルプについては、「ArcGIS Server Manager へのログイン」をご参照ください。
  2. [ログ] [ログの表示] [設定] の順にクリックします。
  3. ログ レベルを [冗長] に設定します。[保存] をクリックします。
  4. クライアント アプリケーションで画面移動またはズームを行って、マップ サービスに簡単なリクエストを行います。ログ内でこのリクエストを簡単に見つけられるように、現在の時刻を記録します。
  5. Manager で、[ログ] [ログの表示] の順にクリックします。
  6. ログの [レベル] ドロップダウン リストで [冗長] を選択します。
  7. [ソース] ドロップダウン リストで、使用しているマップ サービスを選択します。マップ サービスは、「<サービス名>.MapServer」の形式で表示されます。

    [クエリ] をクリックします。

  8. リクエスト中に作成されたログを調べ、各レイヤのフィーチャ数と描画時間を記録します。このステップでは、ログを印刷して描画時間を蛍光ペンで記録すると便利な場合があります。これを行うには、[ログの表示] モジュールで [印刷用の表示] をクリックします。描画時間の最も長いレイヤがすぐにわかります。また、効率的でないレイヤを特定するために、フィーチャ数にも注意してください。レイヤが特定範囲の描画に 0.2 秒しかかかっていない場合でも、その範囲に 2 つのフィーチャしか含まれていない場合は、効率的でない可能性があります。
  9. このプロセスを、マップ内の複数の異なる場所と縮尺で繰り返します。解析対象が、マップ内にあるシンボルとレイヤの適切なサンプルであることを確認します。
  10. 操作が終わったら、ログ レベルを [警告] に戻します。

マップ サービスのログ コード」のトピックには、詳細ログの解析中に現れるコードの表が記載されています。トピックを下にスクロールすると、マップを画面移動またはズームしたときと似ている、単純な ExportMapImage リクエストから返されるコードの例もあります。

詳細なログを検証するときに、「レイヤ描画の開始」や「レイヤ描画の終了」というメッセージが記録されている場合があります。レイヤ描画の開始から終了までの時間は、GIS サーバ層でリクエストに使われる時間です。GIS サーバ層でのパフォーマンスが許容範囲内であるのにアプリケーションの速度が向上しない場合は、Web サーバがボトルネックであったり、アプリケーションがレイヤを描画できるように、利用できるサービスのインスタンスに対して待機中であったりする可能性があります。

ログによるサーバのトラブルシューティングの詳細については、「サーバ ログについて」をご参照ください。

5/20/2014