日本語

問題: マップ サービスの検索がサーバー ログ エラーで失敗する

説明

マップ サービスの検索が失敗し、サーバー ログに次のエラーが記録されます。

エラー: 
待機時間がタイムアウトしました。

原因

この問題は、大規模なマップ サービスで検索を実行する際に、コンピューター処理コアおよびインスタンスが不十分な場合に発生します。 デフォルトでは、ArcGIS Server は、大規模なマップ サービスに対する検索を処理するため、オペレーティング システム内に多数の ArcSOC.exe プロセスを生成します。 たとえば、50 件のダイナミック マップ サービスを公開すると、100 を超える ArcSOC.exe プロセスが生成され、コンピューター上で動作します。 ただし、ArcGIS Server では、各マップ サービスで最大 2 つのインスタンスのみを生成するように設定できます。これにより、サーバーで処理できるインスタンスの最大数は 100 に制限されます。 インスタンスが不足している場合はエラーが発生し、検索プロセスが失敗します。

解決策または対処法

[インスタンスの最大数] パラメーターの一般的な経験則は n + 1 です。ここで、n はサーバー コンピューター上のコア数を示します。 推奨されているパラメーターを超えたインスタンスの最大数を設定すると、ArcGIS Server が過剰なリソースを消費するため、パフォーマンスの問題が発生する可能性があります。 これにより、サービス クラッシュを引き起こす可能性もあります。 多数のインスタンスを使用できるようにするには、目的の機能に応じてコンピューターのコア プロセッサーをアップグレードすることをお勧めします。 インスタンスの最大数は、ArcGIS Server Manager で管理者または公開者アカウントのいずれかを使用して変更できます。

サービス構成に必要となる最適なインスタンス数を決定するには、サーバーを長時間監視します。 たとえば、アプリケーションによるインスタンスの使用方法などを監視します。 リクエストがタイムアウトするか、クライアントの待機時間が長すぎる場合は、使用できるインスタンス数を調整する必要があります。 サーバーは、電源をオンした瞬間から、大量のリクエストを処理する準備ができています。 各スレッドが同時リクエストを処理できる状態で、90 以上のスレッドが起動されることがあります。 メモリに読み込む各スレッドは、ArcGIS Server のセキュリティ、プロパティ、設定、サービスなど、すべての機能に対応します。 システムに負荷がかかるとスレッド数とメモリが増加し、システムに多くの負荷がかかっても高パフォーマンスで動作します。 インスタンスの最大数およびタイムアウトのカスタマイズは、コンピューターおよび作業のパフォーマンスに影響を与えないよう、十分に検討する必要があります。 サーバーはすでに最適なパフォーマンスが得られるように調整されているため、変更は必要が生じたときのみ行うようにしてください。

コンピューター 1 台あたりのインスタンスの最大数を変更する手順については、技術情報記事「問題: ArcSOC のインスタンス数によって、ArcGIS for Server にパフォーマンスの問題が発生する」をご参照ください。

 

関連情報