Skip To Content

Эффективное кэширование

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

Оцените размер кэша

Определение размера кэша для вашей схемы листов позволит вам выделить соответствующий объем ресурсов для создания кэша. Чем больше размер кэша, тем больше ресурса процессора, памяти, времени и дискового пространства будет использоваться при создании содержания кэша.

На панели ArcGIS Pro Общий доступ можно оценить размер кэша на основе конфигурации кэширования. Вы можете использовать эту оценку, чтобы понять изменения размера кэша, которые могут возникнуть в результате выбора разных форматов изображений или уровней масштабирования.

Более подробно см. в разделе Настройка веб-слоя листов.

Кэширование подробных уровней с использованием интересующей области

По умолчанию кэш создается для полного экстента карты. Если вы создаете листы для обширной географической территории, не являющейся прямоугольной, вы можете сэкономить время и ресурсы, интерактивно задав область интереса для кэширования.

Области интересов - это регионы и объекты, которые чаще всего будут просматриваться вашими пользователями. Например, крупные города, достопримечательности и автомагистрали - это те области, к которым пользователи будут чаще всего приближаться. Эти области могут быть смежными или распределенными, а также могут быть разделены областями, которые пользователи будут с меньшей вероятностью рассматривать в крупном масштабе, например пустынями или океанами.

Кэширование области интереса или класса объектов позволяет создавать листы только в тех местах, где они нужны, избегая пустых и не представляющих интереса областей. Таким образом, вы запрашиваете, чтобы серверные инструменты создавали только те листы, которые охватывают интересующие вас области. Оставшиеся части областей могут быть кэшированы по требованию, когда поступает запрос от клиентов. Это позволит сэкономить время и дисковое пространство, которые были бы потрачены на создание ненужных листов в районах, не интересующих пользователей.

Области интереса могут состоять из одной или нескольких частей и иметь правильную или неправильную форму.

Класс объектов можно указать двумя способами:

  • При публикации сервиса или первой инициализации кэша установите параметр Область интереса для кэширования на вкладке Кэширование > Дополнительные настройки в Редакторе сервиса. Из раскрывающегося списка выберите Импорт из класса объектов. Эта область интереса применяется, только если вы решили автоматически создать кэш при публикации.
  • Откройте инструмент Управление листами кэша картографического сервиса и установите параметр Область интереса. Эта настройка переопределяет все области интереса, которые вы могли настроить в Редакторе сервисов .
Примечание:

Если инструмент Управление листами кэша картографического сервиса запущен в ArcGIS Pro, также можно выделить область интересов на экране. Это полезно при однократном запуске инструмента, когда вы пытаетесь вставить потерянные листы в известную область кэша или обеспечить покрытие в заданной области. Однако для большинства заданий или обновлений структурированного кэширования рекомендуется указывать класс пространственных объектов.

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

Иллюстрация создания листа, основанного на границах объектов

Если вы хотите создать или обновить кэш, основанный на классе точечных или полилинейных объектов, вы должны сначала построить небольшой буфер вокруг этих объектов, чтобы получить класс полигональных объектов. Также рекомендуется выполнить слияние по атрибуту и генерализацию буферных зон, прежде чем использовать их в качестве области интереса.

В масштабах мира или страны создается относительно мало листов, поэтому не имеет большого значения, создается ли кэш по классу пространственных объектов.

Не используйте проецирование на лету

Рекомендуется проецировать исходные данные в ту же систему координат, что и карта и схема листов, чтобы исключить проецирование "на лету".

Если вы решите не менять проекцию вашей рабочей базы данных, рекомендуется подготовить одностороннюю реплику рабочей базы данных, которая будет существовать только для создания кэша и обработки запросов пользователей.

Оптимизация надписывания

Надписыванием называется процесс автоматического создания и размещения описательного текста для пространственных объектов карты или сцены. Надпись - это текстовый фрагмент на карте, который размещается динамически, и получается на основании одного или нескольких атрибутов объекта. Нахождение лучших мест для подписей карты может занять много времени, что может существенно замедлить процесс создания листов.

По умолчанию для принятия решений о размещении каждой надписи используется стандартный механизм надписей. Продолжительность этого процесса увеличивается по мере создания большего количества надписей.

В процессе кэширования ArcGIS отрисовывает сразу большие области, что помогает уменьшить число повторяющихся подписей. Эти большие области (суперлисты) затем делятся на более мелкие отдельные листы. Размер суперлиста - 2048 x 2048 пикселов со сглаживанием или 4096 x 4096 пикселов без сглаживания.

Вы не должны видеть дублирующиеся подписи внутри суперлиста, но дубликаты могут быть на его границах. Это связано с тем, что если суперлист подписан, механизм размещения надписей не будет знать о надписях, размещенных на соседних суперлистах. На самом деле, механизм надписывания может пытаться включить в суперлист как можно большее число надписей, тем самым разместив некоторые надписи около края. То же самое может иметь место и на соседнем суперлисте, что приведет к созданию дубликатов рядом с границами суперлиста.

Слои аннотаций

Слои аннотаций позволяют избежать дублирования надписей в кэше. Аннотация — это специальный слой, в котором каждая надпись является объектом с атрибутами. Атрибуты включают назначенное для каждого текстового фрагмента местоположение на карте. Вы можете отредактировать слой аннотаций для удаления дублирующихся подписей.

Аннотации — это самый быстрый способ рисования надписей при кэшировании, поскольку не требует принятия решений об их размещении. У каждой аннотации есть заранее определенные координаты, являющиеся ее атрибутом. Более подробно см. в разделе Аннотация.

Создание слоев аннотаций для кэша карт

Слои аннотаций могут быть очень большими, и создание аннотаций для всех масштабов вашей карты может оказаться непосильной задачей. Два инструмента в группе инструментов Аннотации, расположенной в разделе Инструменты картографии, предназначены для помощи в создании аннотаций для кэша карт.

Первый - Сохранить схему листов кэша картографического сервиса как полигоны. Этот инструмент считывает схему листов кэша карты и создает сетки границ суперлистов во всех масштабах схемы листов. Эти сетки помогают разбить задание создания аннотаций на управляемые части.

Следующий инструмент - Надписи листов в аннотации. Вы указываете созданные вами сетки суперлистов, документ карты и выходную рабочую область, а этот инструмент создает аннотации для каждого масштаба вашего кэша. Аннотации создаются для всех слоев документа карты, для которых включено надписывание.

Аннотации, созданные этим инструментом, позволят вам добиться такого же размещение надписей, как и при создании кэша. Затем вы можете проверить или запросить слой на наличие повторяющихся надписей и удалить их перед созданием кэша. Можно, кроме того, вручную очистить слой аннотаций между обновлениями кэша при обнаружении конфликтов.

Прежде чем запускать вышеуказанные инструменты для больших территорий, лучше сначала потренироваться на простой карте с небольшим экстентом. Создание сетки суперлистов и рисование аннотаций — это трудоемкие задачи, и вам нужно убедиться, что вы указали правильные параметры при использовании инструментов для большой карты. Такая тренировка также поможет вам оценить, сколько времени может занять работа инструмента и сколько аннотаций они создадут.

Надписи Maplex

Maplex предлагает больше возможностей, более совершен в вычислительном отношении и размещает больше надписей, чем стандартный механизм. Несмотря на то, что Maplex обеспечивает хорошие результаты, он также потребляет значительный объем памяти и может замедлить кэширование карт.

Внимание:

Перед использованием Maplex для создания полного кэша рекомендуется создать тестовый кэш и проверить использование памяти вашей системой во время создания листов. Если использование памяти приближается к пределу для вашего компьютера, рассмотрите возможность отключения Maplex. Если вы решите не отключать Maplex, то при создании листов работа системы может быть нестабильной, возможны сбои.

Чтобы достичь оптимального баланса между правильным размещением надписей и производительностью, рекомендуется использовать механизм надписей Maplex для рисования надписей в документе карты и конвертировать эти надписи в аннотации для использования этих аннотаций в своем картографическом сервисе.

Сохранение надписей в отдельном кэше

Векторные объекты и связанные с ними надписи обычно находятся в одном и том же кэше. Редко бывает так, чтобы вы разрешили пользователям отключать надписи; однако при необходимости можно изолировать надписи от объектов в отдельном кэше.

Обычно надписи не включаются в кэш изображений. Если хранить их отдельно, изображения можно использовать как сами по себе, так и повторно в других приложениях. Несколько кэшей изображений с разными наборами надписей, встроенными в листы, занимают в совокупности больше места на диске, чем займет один кэш изображений с несколькими кэшами наложения надписей.

Оптимизация символов, шрифтов и сглаживания

В некоторых случаях вы можете добавить пользовательские текстовые символы или шрифты к вашему документу карты. Дополнительные сведения см. в разделе Текстовые символы.

Чтобы использовать шрифты на веб-слое, они должны либо находиться на компьютере, участвующем в работе серверного сайта, либо, если шрифт отсутствует на сервере, должны быть доступны для использования в ГИС-ресурсах. Чтобы убедиться, можно ли внедрить шрифт, просмотрите свойства шрифта в Microsoft Windows.

Примечание:

Шрифты Type 1 не смогут быть встроены для использования в веб-слоях. Шрифты Type 1 можно либо установить на сервер, либо заменить на шрифты TrueType или OpenType. Отсутствие шрифтов на серверных компьютерах может привести к ненужному поиску замены шрифта для определения символов и снижению производительности построения кэша. Чтобы убедиться, что процесс построения кэша поддерживает только что установленные шрифты, перезагрузите все компьютеры, участвующие в работе серверного сайта.

Сглаживание - это процесс сглаживания краев линий и надписей для предотвращения появления неровностей. Сглаживание текста практически не влияет на производительность, однако сглаживание объектов - это гораздо более трудоемкий вычислительный процесс, который может замедлить кэширование.

Применение некоторого уровня сглаживания объектов может улучшить внешний вид ваших векторных карт. Однако важно учитывать, что каждое повышение качества сглаживания может значительно увеличить время, необходимое для создания кэша. Для большинства кэшей достаточными являются варианты Самый быстрый или Быстрый. Рекомендуется избегать выбора более высокого качества, если только для вашего тестового кэша требуется более высокий уровень качества.

Мониторинг ресурсов сервера при кэшировании

Для максимально быстрого создания листов процессор должен работать близко, но не полностью на 100 процентов во время процесса создания листов. Поскольку карты отличаются друг от друга, достижение данного уровня использования процессора может потребовать от вас попыток использовать разные настройки кэширования, чтобы найти оптимальные. Дополнительные сведения см. в разделе Инструменты кэширования и серверные ресурсы для кэширования.

Объем памяти вашей системы - это еще один фактор, определяющий производительность построения кэша. Ресурсы памяти на серверных компьютерах, участвующих в процессе построения кэша, должны составлять 60 процентов. Интенсивность построения кэша в зависимости от использования памяти зависит от символов, надписей и количества объектов и растров в ваших картографических сервисах или сервисах изображений. Если использование памяти компьютера приблизится к предельному значению, будут происходить случайные сбои, а ваш сервер может перестать отвечать на запросы.

Пропускная способность сети для доступа к исходным данным и каталогу arcgiscache - это еще один показатель, за которым следует следить. В процессе кэширования выполняются тысячи запросов на чтение исходных данных. Наличие достаточной полосы пропускания для чтения исходных данных кэшируемого картографического документа обеспечит более быстрое создание кэша.

Во время создания кэша каждый кэширующий экземпляр записывает пакеты в каталог кэша, заданный для сервиса карт или изображений. Хранение каталога arcgiscache в файловой системе, в которой размещены каталоги arcgisjobs или arcgisoutput, может привести к замедлению работы из-за превышения пропускной способности.

Чтобы создать кэш сайта ГИС-сервера, можно выбрать директорию на сервере с высокой доступностью, который использует технологию Storage Area Network (SAN), или отказоустойчивое устройство Network Attached Storage (NAS). Это можно настроить с помощью вашего специалиста по информационным технологиям, чтобы обеспечить более быстрое чтение и запись.

Создание кэша на сайтах с несколькими компьютерами

Вы можете настроить свой автономный сервер, хост-сервер или интегрированный сервер как сайт с несколькими компьютерами и использовать ресурсы всех компьютеров сайта сервера для ускорения построения кэшей.

Локальная директория кэша

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

ArcGIS Server по умолчанию используют каталоги локального кэша, когда кэш находится на общем сетевом ресурсе или в облачном хранилище объектов. Каждый экземпляр сервиса кэширования записывает один файл пакета (набор из 16,34 листов) в локальный каталог кэша. После завершения работы пакет перемещается в общий каталог кэша в файловой системе или в облачном хранилище объектов. Локальная запись пакетов с их последующим перемещением в общую директорию кэш является более масштабируемым решением, чем запись пакетов из всех систем непосредственно в общую директорию кэша.

Использование локальной копии файловой базы геоданных

Процесс кэширования требует многократного считывания исходного содержимого. Хранение входных исходных данных в сетевом расположении может привести к замедлению работы, если несколько компьютеров получают доступ к исходным данным одновременно. Если запросы происходят в пределах своих компьютеров, листы будут отрисовываться быстрее. Таким образом, размещение копии исходных наборов ГИС-данных на ваших серверах приведет к увеличению скорости и стабильности создания кэша.

Кэш сервиса сцены и каталоги локального кэша

Локальный каталог кэша также используется при создании листов сцен для сервисов сцен. Кэш сцены создается в локальном каталоге кэша перед перемещением в хранилище данных полистного кэша для окончательного хранения файлов листов кэша. Эти временные файлы могут в три-пять раз превосходить объем готового кэша, по окончании создания листов они удаляются.

Установка местоположения расположения локальной директории кэш

Локальная директория кэша по умолчанию представляет собой временную папку для учетной записи ArcGIS Server. Ее можно изменить с помощью Директории администратора ArcGIS Server.

Рекомендуется иметь, по крайней мере, 0,5 Гб доступного дискового пространства для каждого выполняющегося экземпляра сервиса геообработки CachingTools, умноженного на число компьютеров на сайте ArcGIS Server. Дополнительное дисковое пространство может потребоваться для наборов кэш формата JPEG или смешанного формата (MIXED), которые используют высокое качество сжатия, или кэш формата PNG32 или PNG24.

Как описывалось в предыдущем разделе, если вы публикуете сервисы сцен, директория локального кэша должна быть достаточно велика, чтобы в ней помещались временные файлы, создаваемые при построении кэша сервиса сцен.

  1. Создайте директорию кэша для каждого компьютера сайта ArcGIS Server, используя идентичный путь. Убедитесь в том, что учетная запись ArcGIS Server обладает разрешениями для записи в эти директории.
  2. Откройте веб-браузер и ArcGIS Server Administrator Directory. Адрес URL имеет формат http://gisserver.domain.com:6080/arcgis/admin.
  3. При необходимости выполните вход, используя имя пользователя и пароль учетной записи, у которой есть права администратора для доступа к ArcGIS Server.
  4. Щелкните система > свойства > обновить.
  5. В текстовом поле добавьте свойство localTempFolder, указывающее на вашу папку. Например: {"localTempFolder":"/data/temp"}
  6. Нажмите кнопку Обновить.
  7. Используйте ArcGIS Server Manager или окно Каталога для перехода к папке ArcGIS Server с именем System, после чего остановите и перезапустите следующие сервисы:
    • Сервис геообработки CachingTools для картографических сервисов и сервисов изображений
    • Сервис геообработки SceneCachingTools для сервисов сцен