问题

问题:ArcSOC 实例的数量导致 ArcGIS Server 稳定性问题

Last Published: March 8, 2023

描述

ArcSOC.exe 实例的数量可能占用高内存 (RAM) 资源,从而导致 ArcGIS Server 稳定性问题。

“任务管理器 - 性能”选项卡图像

原因

当单个主机上运行的实例数量超过可用的系统资源时,会出现此问题。 这表现为系统超出可用内存限制,消耗过多资源,从而导致服务环境不稳定。

无需额外配置即可调整 ArcGIS Server 以获得最佳性能。 即使在系统空闲时,也经常被配置为通过使大量服务实例处于待机状态来处理大量并发请求。

解决方案或解决方法

有两种选项可以尝试解决系统空闲时内存不足的情况。

  • 选项 1 适用于 ArcGIS Server 10.7 和更高版本。 
  • 选项 2 适用于所有版本的 ArcGIS Server。


选项 1:将服务设置为使用共享实例池。(可在 ArcGIS Server 10.7 及更高版本中使用。)

从 10.7 开始,ArcGIS Server 包括一个共享实例池;默认情况下,此共享实例池中有四个 ArcSOC.exe 进程。  通过共享实例池(而非启动其自己的单独 ArcSOC.exe 进程的服务),它将利用共享实例池中可用的 ArcSOC.exe 进程。  处理完请求后,共享池中的任何其他服务均可免费使用该 ArcSOC.exe 进程。  这样可以减少在 ArcGIS Server 计算机上运行的 ArcSOC.exe 进程的数量,且非常适合不需要自己的单独 ArcSOC.exe 进程的服务。

共享实例池选项可用于已从 ArcGIS Pro 发布的地图服务。  以下限制条件用于限制可以使用共享实例池的服务:

  • 仅地图服务可以配置为使用共享实例池。 不支持其他服务类型,例如地理处理服务。
  • 仅可以启用地图服务的某些功能,例如,要素访问、WFS、WMS 和 KML。 请先关闭所有其他应用程序,然后再继续下一步。
  • 具有自定义服务器对象扩展模块 (SOE) 或服务器对象拦截器 (SOI) 的服务无法使用共享实例。
  • 从  ArcMap  发布的服务无法使用共享实例。
  • 从  ArcGIS Pro  发布的缓存地图服务若满足以上要求,则可以使用共享实例。

以下步骤描述了如何将服务设置为使用共享实例池。

  1. 使用管理员帐户登录到 ArcGIS Server Manager。
  2. 站点(根)> 系统下,单击要修改的服务。
  3. 单击池化,然后选择共享实例池单选按钮。
用户添加的图像
  1. 单击保存并重新启动


选项 2:调整单个服务的实例数。(在所有版本的 ArcGIS Server 中可用。)

如果无法利用 ArcGIS Server 中的共享实例池功能,则请考虑调整单个服务的最小实例数。 具体来说,考虑将很少使用的服务的最小实例数设置为“MinInstances = 0”。 这可以为其他活动地图和地理处理服务保留内存和容量空间。 最小实例数为零可能会导致 延迟性能,因为 ArcSOC 在请求后启动需要花费一些时间。  有关 ArcGIS Server 服务配置和优化的其他信息,请参阅以下 ArcGIS 帮助文档:配置服务实例设置

以下步骤描述了在 ArcGIS Server Manager 中指定 ArcSOC.exe 进程实例数的方法。

  1. 使用管理员帐户登录到 ArcGIS Server Manager。
  2. 站点(根)> 系统下,单击要修改的服务。
    [O-Image]
  3. 单击池化并将每台计算机的最小实例数修改为 0。
    [O-Image]
  4. 单击保存并重新启动
注: 最小实例数的值必须小于或等于最大实例数的值。

有关配置服务实例 设置的附加信息,请参阅以下 ArcGIS 帮助文档。

文章 ID:000012639

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容