性能提示

用户希望工具能够尽可能快地运行,因此您的 Web 工具和地理处理服务必须高效。 由于 ArcGIS Server 可以同时容纳多个客户端,因此低效的服务会导致服务器资源超载。 服务效率越高,可使用相同计算资源提供服务的客户端就越多。

使用投影数据的图层

如果在将工具共享为 web 工具之前运行该工具,则将使用图层作为输入而非磁盘上数据集的路径来运行该工具。 一个图层会引用磁盘上的数据集,而多个图层则会缓存数据集属性。 对网络数据集图层和栅格图层尤其如此。 使用图层而不是数据集的路径会有性能上的优势,原因在于服务开始时会从数据集创建图层、缓存数据集的基本属性并保持数据集开启。 当服务运行时,数据集属性立即可用,数据集将打开并可对其执行操作。

例如,ArcGIS Network Analyst 扩展模块 将创建使用图层的行驶时间面。 根据数据集的不同大小,每次运行服务时可以节省 1 到 2 秒以上的时间。

使用 ArcGIS Server 本地数据

Web 工具需要的工程数据必须为 ArcGIS Server 本地数据。 与位于同一台计算机上的数据相比,通过网络共享 (UNC) 共享和访问的数据速度会慢些。 性能在数字上有很大差别,但通过 LAN 读写数据所耗费的时间通常是本地磁盘的两倍。

将中间数据写入内存

将中间数据写入 memory 工作空间。 与将数据写入磁盘相比,将数据写入内存速度更快。

注:

只要未设置将输出视为地图图像图层的选项,就可以将输出数据写入内存。

了解有关将数据写入内存的详细信息

对任务使用的数据进行预处理

大多数 web 工具旨在成为专用工作流,以便为 Web 客户端提出的特定空间查询提供答案。 因为这些工作流往往针对已知数据进行特定操作,所以几乎总可以对数据进行预处理,从而使操作过程得到优化。 例如,增加属性或空间索引就是一个优化空间或属性选择操作的预处理过程。

可以使用近邻分析生成近邻表工具计算与已知位置的距离。 例如,假设您的服务允许客户端选择闲置宗地,此宗地到南加利福尼亚州洛杉矶河的距离是用户指定距离。 您可以使用按位置选择图层工具来执行这一选择,但更快的是预先计算与来自南加利福尼亚州洛杉矶河的每块宗地的距离(使用近邻值工具),再将计算得到的距离存储为宗地属性。 您将使用添加属性索引工具为此属性建立索引。 现在,当客户端发起查询时,任务可以对距离属性执行属性选择,而非执行更低效的空间查询。

添加属性索引

如果您的工具正在使用属性查询来选择数据,使用添加属性索引工具为查询中使用的每个属性创建属性索引。 仅需要创建一次索引,并且可以在模型或脚本外部创建索引。

添加空间索引

如果模型或脚本针对 shapefile 执行空间查询,请使用添加空间索引工具为 shapefile 创建空间索引。 对于地理数据库要素类,将自动创建和维护空间索引。 在某些情况下,重新计算空间索引可以提高性能,如地理数据库中的空间索引所述。

对于短时间运行的工具,将使用同步,而非异步

可以将 Web 工具设置为同步或异步运行。 当工具异步运行时,服务器会产生一部分的开销。 同步运行相同任务始终比异步运行相同任务更快。 但是,对于长时间运行的任务,差异变得微不足道,并且同步服务无法在工具运行时提供统计数据和消息,由此会导致较差的体验。

避免不必要的坐标变换

如果 web 工具使用的数据集来自不同的坐标系,则工具在运行时可能需要将数据集转换成单一的通用坐标系。 根据数据集的不同大小,从一个坐标系转换至另外一个坐标系会增加不必要的开销。 您需要了解数据集的坐标系以及工具是否必须执行坐标转换。

减小数据大小

如果数据集较小,则用于处理数据的任何软件的工作效率都会更高。 可通过以下方式减小地理数据的大小:

  • 使用删除字段工具移除工程数据中的不必要属性。
  • 线要素和面要素具有用于定义各自形状的折点。 要素包含的折点数可能会多于所需数量,从而不必要地增加了数据集的大小。
    • 数据可能包含重复的折点,或者由于之间距离过近,而对要素的定义不会起到任何作用的折点。
    • 折点数不适合分析比例。 例如,要素包含适用于大比例分析的详细信息,而您进行的是小比例的分析或演示。
    可以使用简化线简化面概化工具从数据中移除额外的折点以达到所需的细节层次。