Skip To Content

提高地图服务显示性能

当客户端向 ArcGIS Server 发送请求以显示地图服务时,服务器上的响应通常由浏览器进行缓存,并在一段时间之内重复使用。 此行为有助于 ArcGIS Server 获得最理想的地图服务显示性能。 但是,根据地图服务及其关联数据在应用程序中的使用方式,您可以调整浏览器使用缓存响应的时长。 为此,请将 cacheControlMaxAge 属性添加至服务的 JavaScript 对象标记法 (JSON)。

注:

本帮助页面中介绍的设置适用于地图服务。 要配置要素服务的 cacheControlMaxAge 属性,请参阅要素服务和客户端应用程序

cacheControlMaxAge 属性的使用方式

ArcGIS Server 地图服务响应包含实体标签 (ETag) 和缓存控制标头。 ETag 头值是响应的唯一标识符。 缓存控制头具有一个最长期限值,该值可向浏览器提供有关浏览器缓存中响应可供重复使用的最大时段的信息。 该值由 cacheControlMaxAge 属性控制。

如果重复请求且尚未超过缓存的最长期限,则浏览器将使用缓存的响应而不会将请求发送到服务器。 如果最长期限已过期,则浏览器必须将请求发送到服务器,并通过与其缓存中响应相对应的相关 ETag 值设置 IF-NONE-MATCH 标头。 ArcGIS Server 评估请求,并使用 ETag 值来确定响应是否更改。 如果服务器的响应与浏览器中的副本不同,则服务器会将一个新的响应发送到浏览器。 如果响应与浏览器上的副本相同,则服务器会警告浏览器继续在其缓存中使用响应。

定义 cacheControlMaxAge 属性值

ArcGIS Server 管理员可定义 cacheControlMaxAge 属性,以指定允许浏览器使用缓存响应的时长。 通过减少 ArcGIS Server 发送完整响应的需要,可提高浏览器缓存的效率,有助于优化应用程序,从而节省网络带宽。

地图服务的默认值为 0。这意味着浏览器将始终重新发送请求,且 ArcGIS Server 将处理请求并在内容发生更改的情况下向浏览器发送完整的响应。 该值适用于大多数应用程序。

对于含有频繁更改的数据集或符号系统的地图服务,建议使用 5 分钟(300 秒)等值。 如果应用程序含有动画或时间感知型数据,则需要考虑增大该值从而为应用程序提供更为流畅的动画体验。

要将 cacheControlMaxAge 属性添加至地图服务并指定其默认值,请执行以下操作:

  1. 在 web 浏览器中打开 ArcGIS Server Administrator Directory,然后以具有管理员权限的用户身份进行登录。

    URL 地址格式为 http://gisserver.domain.com:6080/arcgis/admin

  2. 单击服务,然后从服务列表中选择要修改的地图服务。

    如果您未找到所列服务,则其可能位于根文件夹下的目录中。

  3. 服务 - <服务名称> (<服务类型>) 页面,滚动至底部然后单击编辑
  4. 服务属性对话框中,找到服务 JSON 的 "properties" 部分。
  5. cacheControlMaxAge 属性添加到该部分,然后指定值(以秒为单位)。

    在以下示例中,cacheControlMaxAge 设置为 300 秒。

    "properties": {
      "cacheControlMaxAge": "300",
  6. 单击保存编辑

服务 - <服务名称>(<服务类型>)页面,验证属性部分中是否显示 cacheControlMaxAge 属性以及您为该属性指定的值。