Skip To Content

缓存工具和用于缓存的服务器资源

为使用地图图像图层和影像图层生成的栅格切片生成缓存时,需要熟悉许多工具和过程。

注:

术语地图服务可以与术语地图图像图层互换使用,术语影像服务可以与影像图层互换使用。

缓存工具集

缓存地图图层、图像图层和切片图层等服务器服务的缓存管理工具位于 ArcGIS Pro 中的服务器工具 > 缓存工具集中。 有关详细信息,请参阅缓存工具集概述

注:

所有缓存工具都需要发布者或管理员凭据才能使用。

用于缓存的服务器资源

ArcGIS Server 中生成和管理缓存由预配置的缓存控制器和缓存工具地理处理服务支持。 创建 ArcGIS Server 站点时,系统服务随时可用。 CachingTools 服务所允许的实例数将决定您的计算机专用于缓存作业的能力,而系统文件夹中的缓存控制器服务实例的数量决定了可以同时运行的作业数量。

增加地图或影像服务的实例数不会影响切片的创建速度。 地图或图像服务实例用于完成查询和识别服务上的操作,而不用于渲染缓存的内容。 您可以通过配置地图和图像服务池来利用缓存地图服务的共享实例,从而减少服务器资源的负载。 有关详细信息,请参阅配置服务实例设置

选择用于 CachingTools 服务的实例数

您可以随时使用 ArcGIS Server Manager 调整供缓存作业使用的 CachingTools 地理处理服务的最大实例数。 最小值和最大值应用于每台单个的 GIS 服务器;因此,如果最大值设置为 3 且有 4 个 GIS 服务器运行 CachingTools 服务,那么您最多可运行 12 个 CachingTools 的实例。

此操作允许从站点中添加和移除 GIS 服务器以增加或减少缓存所用的资源数量。 即使缓存作业正在运行,也可以添加 GIS 服务器,然后系统将检测到服务器并将切片分配给服务器以进行创建。

选择适当数量的 CachingTools 服务示例十分重要。 如果允许过多实例,则计算机可能会超负荷运行并且效率低下。 但是,如果允许的实例过少,则计算机会得不到充分利用。 找到最适合您情况的数量可能是一个反复试验的过程。 但是,建议您开始允许的最大值为 n,它是集群中单个计算机上的 CPU 核数。

选择用于缓存作业的实例数

诸如“管理地图服务器缓存切片”一类的工具允许您选择将有多少 CachingTools 实例会用于该作业。 可以选择在多个运行作业之间划分可用的 CachingTools 实例。 如果 CachingTools 的实例正由其他作业使用,作业可能不会应用其最大实例数。 如果缓存作业正在使用所有 CachingTools 实例,其他请求的作业将列队等候第一个作业结束。

假设您想要创建缓存,且在站点内具备四个 GIS 服务器。 已经将每个服务器配置为最多允许五个 CachingTools 实例。 可专用于缓存作业的最大实例数为 20。

如果想要在此站点上运行两个同步缓存作业并且维持均匀分布加载,则每个作业专用的实例数为 10。

顾及灵活性

您可能已在云环境中添加了站点,该站点能够根据需要自动添加 GIS 服务器。 在这种情况下,您可能不想受可以用于作业的固定最大实例数的限制。 这时,您可以输入值 -1 以表明不限制可以用于作业的实例数。 将所有可用的 CachingTools 实例用于作业,不考虑添加到您站点的 GIS 服务器数量。

设置可同步运行的作业数目

如果同时开始请求构建缓存的发布者过多,即使选择专用于每个作业的实例数很小,服务器也会超负荷运行。 CachingControllers 服务(位于系统文件夹中)决定了可同时运行的作业数目。

CachingControllers 服务默认使用的最大实例数为 3,表示可以同时运行三个缓存作业。 如果服务器接收到第四个缓存作业的请求,该作业会在其他某个作业结束之前排队等待。 如果想要同时运行四个作业,可以将 CachingControllers 的最大实例数设置为 4。

使用地理处理自动执行缓存创建和更新

如果您所使用的底图不太可能发生更改,则您可能只需创建一次缓存。 可启动 ArcGIS 地理处理工具来创建缓存并为其添加切片。 如果您的数据不经常更改,这也是更新缓存的适当方法。

如果您的数据经常更改,仍然可以使用缓存功能。 缓存工具使您可以通过编写脚本来更新缓存并针对缓存的特定部分进行更新。 例如,可执行以下操作:

  • 仅针对发生更改的比例级别更新缓存。
  • 仅对位于要素类边界内的缓存区域进行更新。
  • 使用 Windows“任务计划程序”等实用工具自动完成缓存维护。

自动执行缓存过程的方法是编写脚本以调用服务器工具工具箱中缓存工具集下的工具从而实现自动缓存。

要创建一个新的地图或影像服务缓存,通常从用于初始化缓存的创建地图服务器缓存工具开始。 然后,运行管理地图服务器缓存切片工具将切片添加到缓存中。

ArcGIS 中提供了多种工具用于导出、导入和删除缓存。 有关所有可用工具的汇总,请参阅缓存工具集的概述

在脚本中使用缓存工具

尽管可以从目录搜索窗口中手动打开缓存工具,但更高效的做法是在模型构建器中创建一个模型或编写一个地理处理脚本,该脚本包含一个或多个要运行的工具。 然后,可以将此脚本设置为定期自动运行。

地理处理工具参考主题中包含了一个完整的 Python 代码示例,该实例显示了在脚本中使用工具的方法。 例如,请参阅管理地图服务器缓存切片的帮助。

如果您是 Python 的初学者,以下资源可以帮助您了解更多信息:

  • 什么是 Python?- ArcGIS 帮助以该主题为入手点对 Python 脚本进行了介绍。
  • 导出模型 - 如果您已在 ModelBuilder 中创建了模型,可以将它们导出到 Python 以查看对应脚本的具体内容。

安排脚本定期运行

您可以将脚本保存为一个 Python 脚本文件 (.py)。 在 Windows 资源管理器中双击脚本即可让其运行。 这对于测试十分有用,但在大多数情况下,您需要将脚本安排为定期自动运行。

您的操作系统中含有若干实用工具可帮助您计划像运行脚本这样的任务。 在 Windows 中,可以使用“任务计划程序”或 schtasks 命令。 您需要提供脚本文件的位置、所期望的脚本运行频率以及该任务在运行时使用的名称和密码。 如需进一步阅读,请参阅设置 Python 脚本在规定时间运行