問題
複数の ArcSOC.exe インスタンスが、メモリ (RAM) リソースを大量に消費する場合があり、それによって ArcGIS for Server のパフォーマンスの問題を引き起こします。
この問題は、複数のインスタンスが 1 台のホスト コンピューター上で実行されているときに発生し、それによって、使用可能なメモリ制限を超え、過剰にリソースを消費し、不安定なサービス環境につながります。 ArcGIS for Server は、追加の構成なしで最適な性能を発揮するように調整されています。 システムがアイドル状態である場合でも、ArcGIS for Server は大量のリクエスト用に設定されています。 システムに負荷がかけられた場合、処理されている高性能な機能に対応するために、メモリ使用量が増加します。 1 つの ArcSOC.exe プロセスおよびすべての実行インスタンスは、2 つの ArcSOC.exe プロセスを作成します。 たとえば、3 つの実行インスタンスがある 1 つのジオプロセシング サービスは、7 つの ArcSOC.exe プロセスを生成します。
この挙動を解決するには、2 つの方法があります。
オプション 1: 共有インスタンス プールを使用するようサービスを設定する (ArcGIS Server 10.7 以降で利用可能)
ArcGIS Server 10.7 以降には共有インスタンス プールが含まれています。この共有インスタンス プールには、デフォルトでは 4 つの ArcSOC.exe プロセスがあります。 共有インスタンス プールを使用すると、各サービスが個々の ArcSOC.exe プロセスを実行しなくても、共有インスタンス プールで使用可能な ArcSOC.exe プロセス を使用します。 リクエストの処理が完了すると、その ArcSOC.exe プロセスは共有プール内の他のサービスでも自由に使用できるようになります。 これにより、ArcGIS Server コンピューターで実行される ArcSOC.exe プロセスの数を削減できるため、個々の ArcSOC.exe プロセスを必要としないサービスにとっては最適です。
共有インスタンス プール オプションは、ArcGIS Pro から公開されたマップ サービスで使用できます。 次の制約によって、共有インスタンス プールを使用できるサービスが決まります。
次に、共有インスタンス プールを使用するようサービスを設定する方法について説明します。
オプション2: インスタンスの最小数を「0」に設定する. (ArcGIS Server の全バージョンで利用可能)
ArcGIS Server の共有インスタンス プール機能を使用できない場合は、ほとんど使用されないサービスの最小インスタンス数を 'MinInstances = 0’ に設定する方法があります。 これによって、他のアクティブなマップおよびジオプロセシング サービスのためのメモリ空間および空き容量を確保します。 インスタンスの最小数をゼロに設定すると、リクエストされた後に ArcSOC の起動に時間がかかるため、パフォーマンスが低下することがあります。 ユーザーによって頻繁に利用されるサービスの場合は、インスタンスの最大数を「最大インスタンス数 = n+1」に設定します (「n」はホスト コンピューターのコアの数)。 ArcGIS for Server のパフォーマンス最適化の詳細については、ArcGIS ヘルプ ドキュメント「サービスのチューニングと構成」をご参照ください。
次の手順では、ArcGIS Server Manager で ArcSOC.exe プロセスのインスタンスの数を指定する方法について説明します。
注意: 最小インスタンス数プロパティは、最大インスタンス数プロパティよりも小さい必要があります。
サービス インスタンス設定の構成の詳細については、ArcGIS ヘルプ ドキュメントをご参照ください。
ArcGIS エキスパートのサポートを受ける
Esri Support アプリのダウンロード