Skip to main content

配置服务实例设置

您可通过 ArcGIS Server 对从 ArcGIS Pro 发布到 ArcGIS Server 站点的每个兼容地图或影像服务使用共享实例或专用实例。 使用共享实例可以通过池化多个活动服务器进程以供多个服务使用的方式来节省内存使用量。 这样做可以减少没有积极处理请求的服务的内存使用量。

本主题提供了用于设置服务实例设置的步骤。

注:

您可以检查环境中的 ArcSOC 进程,以检测哪些 ArcSOC 正在对应 ArcGIS Server 计算机上的每个基于服务器的服务运行。

您可以在 Linux 计算机上执行 ps -ef | grep arcsoc 命令并检查每个进程的 -Dservice= 参数,以查找与 ArcSOC 进程关联的服务名称。

注:

您可以检查环境中的 ArcSOC 进程,以检测哪些 ArcSOC 正在对应 ArcGIS Server 计算机上的每个基于服务器的服务运行。

您可以打开任务管理器并启用命令行选项。 命令行参数将具有与任何 ArcSOC 进程关联的服务名称。

配置服务的实例类型

该部分仅适用于地图服务。

注:

对于影像服务,请转到 ArcGIS Server Administrator Directory 并使用 changeProvider 操作设置实例类型。 使用 ArcObjectsRasterRendering 作为共享实例影像服务的服务提供程序,使用 ArcObjects11 作为专用实例影像服务的服务提供程序。

管理员还可以在发布服务后指定单个服务的实例类型,以覆盖默认设置。 要使用共享实例池,必须从 ArcGIS Pro 发布地图服务,并满足上述其他要求。

要更改单个服务的实例类型,请完成以下步骤:

  1. 将 web 图层(作为地图图像图层)或 web 地图从 ArcGIS Pro 共享到 ArcGIS Enterprise。

    注:

    在使用共享实例池的地图服务上只能启用某些地图服务功能(要素访问、WFS、WMS 和 KML)。

    将在联合 ArcGIS Server 上创建地图服务。

  2. 以管理员身份登录 ArcGIS Server Manager。

    URL 地址格式为 https://webadaptor.example.com/arcgis/manager

  3. 找到地图服务。

  4. 单击编辑服务

  5. 在页面侧面,单击池化选项卡。

    可在此选项卡中指定服务的专用实例范围(如果适用),设置服务超时属性,以及指定服务是使用专用实例还是共享实例。

  6. 指定服务将使用的池类型:共享实例池专用实例池

    • 将服务配置为使用共享实例池时,某些地图服务功能(在功能选项卡上)将不可用。 如果您无法选择共享实例池选项,请确保地图服务上没有启用任何不支持的功能。 请参阅步骤 1 中的注释。

    • 将服务配置为使用共享实例池时,指定实例数部分(适用于专用实例池)不可用。

  7. 准备就绪后,单击保存并重新启动

    地图服务上的实例池选项发生更改后,服务必须重新启动。

您可以随时更改地图服务使用的实例池;当服务流量模式发生变化时,您可能需要执行此操作。

配置共享实例池

共享实例池中的实例数量和配置可能不适合使用共享实例池的服务。 管理员可以使用 Server Manager 配置其站点中的共享实例池设置。 可用设置包括每台计算机的共享实例数和每个共享实例的缓存大小。

新安装的 ArcGIS Server 第一次托管使用共享实例池的兼容地图或影像服务时,站点将开始运行共享实例。

注:

共享实例影像服务的服务提供程序与共享实例地图服务的服务提供程序不同。

池中适当的共享实例数等于每台计算机上的 CPU 核心数减去专用服务使用的实例数。 例如,如果专用服务在八核计算机上使用两个实例,则建议将共享池设置为使用六个实例。

如果站点中的所有服务当前均未使用共享实例,则可以将每台计算机的实例数设置为零。

注:

如果您使用的是超线程、vCPU 或逻辑内核(例如,如果您的站点位于虚拟环境或云环境中),请将每个逻辑内核视为物理内核的一半。

共享池中的每个实例都会缓存有关已收到请求的服务的信息,因为缓存此信息可提高相同服务的后续请求性能。 每个已缓存服务只占用少量内存。

缓存大小设置控制共享实例池中每个实例缓存的服务数量。 除非您拥有大量的内存和大量全部定期接收请求的服务,否则建议保留每个实例的缓存服务数默认值 50。

如果您拥有超过 50 个定期接收请求的服务,目前遇到了性能问题,并且您拥有希望用于此目的的可用内存,请考虑提高缓存大小值。

这些建议旨在帮助您入门。 监视 ArcGIS Server 站点,以确保充分利用可用资源,且站点不会出现流量超载问题。 池中的最佳实例数和实例的最佳缓存大小取决于共享池服务的流量、正在服务的数据数量和类型以及可用计算资源数量。

有关共享实例地图服务,按照以下步骤指定共享实例池中的实例数及其缓存大小:

  1. 以管理员身份登录 ArcGIS Server Manager。 URL 地址格式为 https://webadaptor.example.com/arcgis/manager

    URL 格式为 https://webadaptor.example.com/arcgis/manager

  2. 池化页面上,浏览至站点 > 设置

  3. 单击共享实例设置的编辑按钮。

  4. 在对话框上,根据需要更改每台计算机的共享实例数每个共享实例的缓存大小

  5. 单击应用确认选择。

修改共享实例地图服务的模式锁定设置

对于一些在严格的服务级别协议 (SLA) 下运营的组织,必须进行模式更改,同时仍允许地图服务保持可访问性。 要最大限度地减少地图服务不运行的时间,您可以禁用地图服务的模式锁定,这样您就可以在不停止地图服务的情况下修改引用数据集的模式。

在禁用模式锁定之前请考虑以下事项:

  • 禁用模式锁定时,建议您仅在服务空闲时更新模式。 如果在服务具有负载时更新模式,地图服务的用户可能会遇到意外行为,例如丢失图层和字段、查询失败以及服务不可用。

  • 更改模式锁定设置需要您重新启动服务。 此外,为了在禁用服务的模式锁定时反映更改,您必须在更改现有字段定义的模式更改完成后重新启动地图服务,或者在添加或删除字段时覆盖地图服务。

  • 禁用模式锁定将对运行共享实例的所有服务执行此操作。

要在地图服务运行时允许方案编辑,请完成以下步骤:

  1. 登录到 ArcGIS Server Manager。

  2. 单击站点 > 设置 > 池化

  3. 单击编辑以编辑共享实例设置。

  4. 单击参数

  5. 取消选中锁定数据库模式

    注:

    默认情况下,锁定共享实例的数据库模式处于选中状态。

  6. 单击应用

配置共享实例地图服务的默认服务实例设置

管理员可以为从 ArcGIS Pro 发布的兼容地图服务指定默认实例类型设置。 将此类服务发布到服务器时,该服务将使用默认实例类型。 之后,您可以使用下一节中的步骤更改单个服务的实例类型。

新 ArcGIS Server 站点将所有兼容的地图服务分配给共享实例池作为默认实例设置。 从先前版本升级的 ArcGIS Server 站点会保持其默认实例设置。

如果选择将共享实例用作服务的默认实例类型,则该设置仅适用于兼容的地图服务。 无法使用共享实例池的服务继续使用自己的专用实例池。

更改默认实例类型设置仅影响未来发布的服务。 不会更改现有服务的实例类型设置。

注:

共享实例池将占用一小部分内存,具体视接受请求的服务数量而定。 对于处理大量服务请求的共享实例池,随着服务接受请求的数量增多,共享实例池所占内存也在不断增加。 在单个回收期内 50 个或更多服务收到请求后,这一内存消耗的增加将减缓。

要指定兼容地图服务的默认实例类型,请完成以下步骤:

  1. 以管理员身份登录 ArcGIS Server Manager。 URL 地址格式为 https://webadaptor.example.com/arcgis/manager

    URL 地址格式为 https://webadaptor.example.com/arcgis/manager

  2. 池化页面上,浏览至站点 > 设置

  3. 要更改兼容地图服务的默认实例类型,请单击默认实例类型编辑按钮,然后选择默认设置的实例类型。

    • 如果您预计大多数服务将接收频繁流量,或者服务器站点中运行的服务数量不足以导致计算机内存负载显著增加,请选择专用实例

    • 如果您发布的许多服务仅接收不频繁的请求,或者您担心将要发布的其他服务会使内存资源变得紧张,请选择共享实例

  4. 单击应用确认选择。