ArcGIS for Serverのインスタンス数とサービス数


ArcGIS for Serverは何も考えなければマップサービスやジオプロサービスの数が延々と増えていく。
性能も含めて検討する必要がある。
セキュリティ権限等が標準ではサービス単位に設定されるため、グループごとにサービス作成等をしていくとサービス数が増加する。

この場合何が起きるか?プロセス数に対してOSリソース数が足りなくなる。
おおよその上限を80程度に制限するのが適当。

10.0ではサービスの最大/最小に設定関わらず許容値を設定可能
http://help.arcgis.com/ja/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/0093000000mq000000/

Machine-Capacity
なお10.1でもArcSOC.exeは上がるのでほぼ同様と考えていいだろう
(OSのプロセスへのリソース割り当てはArcGISは関係ない)

使用されない限りはひとまず安全になるが状況によって性能劣化する

例えば
25サービスで4コアの場合を考えてみよう
性能最大化する場合、シングルスレッドのArcGISは4プロセスの割り当てが適切となる。

1プロセスで、6秒1回(1分10回)要求を出すユーザの処理に1秒CPUを喰われる場合は理論値で6人までしか対処できないが、4プロセスならば24人まで対応できる
(超えるとどんどん遅くなる)

サービス数:25×4で100インスタンスなのでリソースを消費するサービスの場合OSがエラーを吐きだす頃合いになってしまう
(Desktop HeapやGDIハンドル等様々で追い切れない事が多い)

で80にしてかつ、ユーザが全てのサービスを均等に使う場合は一部サービスが遅くなり性能劣化する。

システム設計上は、1主題図 必要なキャッシュ 1ジオメトリサービスが理想形となってしまう。

多くて良い事は何もない
セキュリティは、間にWebサービス等噛ませて確保すれば、何とかなるかと言う所

例えば2万リクエスト/時間の場合は
333リクエスト/分
5.55リクエスト/秒
1~2インスタンス程度では持たなくなる。
遊びでやってるんでもなければ、最大インスタンス数は気を使う必要が出てきてしまう

こちらも参照

MXD速度調整

カテゴリー: 運用, 設計 タグ: パーマリンク