一、ArcGIS Server进程
针对Windows操作系统,正常启动的ArcGIS Server会有以下操作系统进程:
(1)一个 ArcGISServer.exe 进程
(2)每个运行中的服务实例均对应一个 ArcSOC.exe 进程。例外:地理处理服务每个运行中的实例都对应两个 ArcSOC.exe 进程。请注意,部分进程适用于内部系统服务而非用户已发布的服务。
(3)一个 rmid.exe 进程
(4)两个 javaw.exe 进程。这些进程提供了基本的应用程序服务器功能和 Web 服务托管能力。
(5)两个 conhost.exe 进程和一个 cmd.exe 进程。这些是由 Windows 启动以向 ArcGIS Server 进程提供控制台服务的补充进程
二、实例
对 ArcGIS Server 站点中的某个服务发出请求(例如平移地图或导航至某个地址)时,该请求将由在服务器计算机上运行的已发布服务的实例进行处理。服务实例由名为 ArcSOC 进程的 Esri 专有服务器进程提供支持。每个 ArcSOC 进程运行时都需要占用一定量的计算机内存。
2.1、最小实例、最大实例
对于发布到ArcGIS Server中的每个服务,可以设置最小实例和最大实例。对于最小实例,如果设置为3,则该服务在正常情况下,至少会有3个ArcSoc进程运行,即便服务没有使用也是这样。如果最小实例设置为0,则不使用服务的情况下,不会运行任何实例,可以节省内存,但是缺点是下次对服务发送请求时,会有相应延迟。
对于最大实例,在任意指定 ArcGIS Server 计算机上运行的特定服务实例的最大数量。
2.2、运行中的实例、使用中的实例、最大实例数
运行中的实例:
初始值为最小实例数,随着对服务的调用,运行中的实例会一直增加,直到达到最大实例数
使用中的实例:
初始值为0,客户端对服务发出请求时,使用中的实例会增加。
最大实例数:
实例上限
2.3、ArcSOC
1. 对应关系
一个空的ArcGIS Server站点,因为本身自带一些GP服务,以及日志管理等会启动ArcSOC进程,ArcSOC进程数一般<10个;
默认情况下:一个地图服务对应1个ArcSOC进程,一个地理处理服务对应2个ArcSOC进程
2. 实例和ArcSOC关系
(1)默认情况,最小实例为1,最大实例为2
当Server站点发布新的服务,不论服务有没有使用,首先会启动一个ArcSOC进程;
当客户端使用服务时,使用中的实例会从0变成1;
当并发量增多时,运行中的实例和使用中的实例会继续增加,直至达到最大实例;
(2)假设最小实例为5,最大实例为10
在发服务时,设置该服务最小实例为5,最大实例为10,服务发布成功之后,会启动5个ArcSOC进程,即此时运行中的实例为5;
当客户端调用服务时,使用中的实例从0开始增加;
随着并发量增加,使用中的实例会逐渐增加,直至达到5,此时如果继续增加并发,windows进程中开始启动新的ArcSOC中,运行中的实例开始增加,使用中的实例也开始增加,直到达到最大实例10。
3. 并发量和ArcSOC之间的关系
假设一次操作平均时长为0.5秒,用户接受时间为2秒,一个实例则可以处理4个请求,当并发量为200的时候,就需要50个实例。
【官方推荐,每核对应3-5个实例,每核对应3GB内存,一般的动态地图服务配置cpu核数的3-5倍的实例数,而gp服务的话配置核数+1个实例数】---【这句没找到出处,存疑】