Skip To Content

Повышение производительности отображения картографического сервиса

При отправке клиентами запросов к ArcGIS Server для отображения картографического сервиса ответ с сервера обычно кэшируется браузером и используется в течение определенного периода времени. Это помогает ArcGIS Server добиться максимально возможной производительности отображения для сервиса изображений. Однако, в зависимости от того, как картографический сервис и связанные с ним данные будут использоваться в приложении, вы можете настроить продолжительность времени, в течение которого браузер будет использовать ответ в своем кэше. Это выполняется путем добавления свойства cacheControlMaxAge в JavaScript Object Notation (JSON) вашего сервиса.

Как используется свойство cacheControlMaxAge

Ответы картографического сервиса ArcGIS Server содержат тег объекта (ETag) и заголовок Cache-Control. Значение ETag является уникальным идентификатором ответа. Максимальное значение продолжительности у заголовка Cache-Control обеспечивает браузер информацией о максимальном периоде времени, в течение которого он может повторно использовать ответ из кэша браузера.. Это значение управляется свойством cacheControlMaxAge.

При повторе запроса, когда максимальное время действия кэша еще не прошло, браузер использует кэшированный ответ, не отправляя запрос к серверу. Если максимальное время уже истекло, браузер должен отправить на сервер запрос и присвоить заголовку IF-NONE-MATCH значение ETag, соответствующее ответу в кэше. ArcGIS Server оценивает запрос и использует значение ETag, чтобы определить, изменился ли ответ. Если ответ сервера отличается от копии в браузере, сервер отправит браузеру новый ответ. Если ответ сервера идентичен копии в браузере, сервер сообщает браузеру, что можно продолжать использовать ответ в кэше.

Установка значения для параметра cacheControlMaxAge

Как администратор ArcGIS Server вы можете задать параметр cacheControlMaxAge, чтобы указать, как долго браузер будет использовать кэшированный ответ. Снижая для ArcGIS Server необходимость отправки полного ответа, кэши браузеров становятся более эффективными, помогают оптимизировать приложения и экономят пропускную способность сети.

По умолчанию для картографических сервисов используется значение 0. Это означает, что браузер всегда будет отправлять запрос, а ArcGIS Server обрабатывать его и, в случае изменения содержания, отправлять браузеру полный ответ . Это значение подходит для большинства приложений.

Для картографических сервисов с частой сменой наборов данных или символов, рекомендуется использовать значение 5 минут (300 секунд). В приложениях с анимацией или временными данными это значение можно увеличить, чтобы анимация выполнялась более плавно.

Чтобы добавить свойство cacheControlMaxAge к сервису и задать для него значение по умолчанию, сделайте следующее:

  1. В веб-браузере откройте ArcGIS Server Administrator Directory и войдите под учетной записью с правами администратора.

    Адрес URL в формате http://gisserver.domain.com:6080/arcgis/admin.

  2. Щелкните сервисы и в списке Сервисы выберите картографический сервис, который вы хотели бы изменить. Если сервис в списке не отображается, он может располагаться в директории под корневой папкой.
  3. Прокрутите вниз страницу Сервис – <service name> (<service type>) и щелкните редактировать.
  4. В диалоговом окне Свойства сервиса найдите раздел "properties" JSON-представления свойств сервиса.
  5. Добавьте параметр cacheControlMaxAge в нужный раздел и задайте для него значение (в секундах). Ниже приведен пример:
    "properties": {
      "cacheControlMaxAge": "300",
  6. Щелкните Сохранить изменения.

Убедитесь, что на странице Service – <имя сервиса> (<тип сервиса>) cacheControlMaxAge указанные вами свойство и значение отображаются в разделе Properties.