При создании кэша для растровых листов, полученных с использованием слоев изображений карты и слоев изображений, необходимо ознакомиться с рядом инструментов и процессов.
Примечание:
Термин "картографический сервис" может использоваться взаимозаменяемо с термином "слой изображений карты", а термин "сервис изображений" - с термином "слои изображений".
Кэширование
Инструменты управления кэшем для сервисов сервера, таких как слои кэшированной карты, слои изображений и слои листов, расположены в группе инструментов кэширования > Инструменты сервера в ArcGIS Pro. Дополнительные сведения см. в разделе Обзор группы инструментов Кэширование.
Примечание:
Для использования всех инструментов кэширования требуются учетные данные издателя или администратора.
Ресурсы сервера для кэширования
Создание кэшей и управление ими в ArcGIS Server поддерживается предварительно настроенным контроллером кэширования и сервисами геообработки инструментов кэширования. Эти системные сервисы становятся доступными при создании сайта ArcGIS Server. Количество экземпляров, которое вы разрешаете использовать сервису CachingTools, определяет мощность, выделяемую компьютером для кэширования заданий, а количество экземпляров сервиса контроллера Кэширование в папке System определяет, сколько заданий может выполняться одновременно.
Увеличение числа экземпляров картографического сервиса или сервиса изображений не сказывается на скорости создания листов. Экземпляры картографического сервиса или сервиса изображений используются для выполнения операций запроса и идентификации с сервисом и не применяется для отображения кэшированного содержимого. Вы можете снизить нагрузку на ресурсы сервера, воспользовавшись преимуществами общих экземпляров кэшированных картографических сервисов, настроив слияние картографических сервисов и сервисов изображений. Дополнительные сведения см. в разделе Настройка параметров экземпляра сервиса.
Выбор числа экземпляров для сервиса CachingTools
Вы можете использовать ArcGIS Server Manager в любой момент для настройки максимального количества экземпляров сервиса геообработки CachingTools, доступных для заданий кэширования. Минимальное и максимальное значения применяются к каждому отдельному ГИС-серверу, поэтому если максимальное значение равно 3, а у вас имеется четыре ГИС-сервера, на которых запущен сервис CachingTools, то можно получить до 12 работающих экземпляров CachingTools.
Это поведение позволяет добавлять и удалять ГИС-серверы на сайте для увеличения или уменьшения количества выделенных для кэширования ресурсов. ГИС-сервер можно добавить даже во время выполнения задания кэширования; он будет обнаружен, и для него будет выделена часть задачи по созданию листов кэш.
Важно, чтобы вы выбрали соответствующее количество экземпляров сервиса CachingTools. Если вы разрешите использование слишком большого числа экземпляров, все ресурсы компьютера будут заняты и процесс станет неэффективным. Но если экземпляров будет слишком мало, компьютер может быть загружен недостаточно. Поиск наилучшего числа экземпляров в ваших обстоятельствах выполняется методом проб и ошибок. Однако рекомендуется для начала установить максимальное значение n, где n - это количество процессорных ядер на одной машине в вашем кластере.
Выбор числа экземпляров для задания кэширования
Такие инструменты, как Управление листами кэша картографического сервиса, позволят вам выбрать, какое число экземпляров CachingTools будут работать. Вы можете разделить имеющиеся экземпляры CachingTools между несколькими выполняющимися заданиями. Задание не может использовать максимальное число экземпляров CachingTools, если эти экземпляры используются другими заданиями. Если кэширование использует все экземпляры CachingTools, другие запрошенные задания ставятся в очередь до завершения первого задания.
Предположим, вы хотите создать кэш и у вас есть четыре ГИС-сервера на сайте. Вы настроили каждый сервер на использование пяти экземпляров CachingTools максимум. Максимальное число экземпляров, которые могут выполнять задачу кэширование – 20.
Если вы собираетесь запустить параллельно две задачи кэширования на сайте, поддерживая при этом равномерное распределение ресурсов, вы можете использовать по 10 экземпляров на каждую задачу.
Предоставление гибкости
Вполне возможно, что вы сконфигурировали свой сайт в облачной среде, которая может автоматически добавлять ГИС-серверы по запросу. В этом случае вы не захотите ограничиваться фиксированным максимальным числом экземпляров, которые могут работать над заданием. В данной ситуации можно ввести значение -1, чтобы указать, что ограничений на число экземпляров, которые могут работать над заданием, не существует. Все имеющиеся экземпляры CachingTools будут использоваться для задания, независимо от того, сколько ГИС-серверов добавлено на ваш сайт.
Установка числа задач, которые могут выполняться одновременно
В случае, если слишком много издателей начнут одновременно запрашивать построение кэша, ресурсы сервера будут все использованы, даже если вы будете использовать лишь несколько экземпляров для выполнения каждой задачи. Сервис CachingControllers (в папке System) определяет, сколько задач можно одновременно запускать.
Максимальное количество экземпляров для CachingControllers по умолчанию равно трем, что соответствует возможности одновременного запуска трех задач кэширования. Когда сервер получает запрос на четвертую задачу кэширования, она будет поставлена в очередь до завершения одной из других задач. Если вы хотите разрешить одновременный запуск четырех задач, установите значение максимального числа экземпляров CachingControllers, равное 4.
Автоматизация создания кэша и обновлений с помощью геообработки
При работе с базовой картой, которая вряд ли будет изменяться, скорее всего, вы создадите кэш всего один раз. Можно запустить инструменты геообработки ArcGIS для создания кэша и добавления в него листов. Это также подходящий способ обновления кэша, если данные изменяются не очень часто.
Если данные часто изменяются, вы все равно можете продолжать использовать кэширование. Инструменты кэширования разработаны, чтобы позволять создавать скрипты обновления кэша и назначать определенные части кэша для обновлений. Например, вы можете делать следующее:
- Обновляйте кэш только для уровней масштаба, где есть изменения.
- Обновляйте только области кэша, которые входят в границы класса объектов.
- Автоматизируйте обслуживание кэша.
Чтобы автоматизировать процесс кэширования, нужно написать скрипты, использующие инструменты из группы инструментов Кэширование в наборе Серверные инструменты.
Чтобы создать новый картографический сервис или сервис изображений, обычно запускается инструмент Построить кэш картографического сервиса, который инициализирует кэш. Затем запускается Управление листами кэша картографического сервиса, чтобы добавить листы в кэш.
Существует множество инструментов для экспорта, импорта и удаления кэша. Краткое описание всех доступных инструментов см. в статье Обзор группы инструментов Кэширование.
Использование инструментов в скриптах
Хотя вы можете вручную открыть инструменты кэширования в окне Каталога или Поиска, эффективнее создать модель в ModelBuilder или написать скрипт геообработки, содержащий один или несколько необходимых для запуска инструментов. Затем можно настроить график автоматического запуска скриптов.
Инструмент геообработки ссылается на статью, содержащую полный пример кода Python, демонстрирующий, как использовать инструмент в скрипте. Например, смотрите справку по инструменту Управление листами кэша картографического сервиса.
Если вы незнакомы с Python, следующие ресурсы позволят вам узнать больше:
- Что такое Python? – справка ArcGIS содержит введение в скрипты Python, начинающееся с этого раздела.
- Экспорт модели – если вы создали модели в ModelBuilder, вы можете экспортировать их в Python, чтобы увидеть, как выглядит соответствующий скрипт.
Запуск скриптов на Linux
При запуске скриптов Python, использующих модуль arcpy ArcGIS, выполните действия, описанные в статье Размещение пользовательских пакетов python.
Составление графика запуска скрипта Python на регулярной основе
Скрипт можно сохранить как файл скрипта Python (.py). Если дважды щелкнуть скрипт , он запустится. Это полезно для тестирования, но в большинстве случаев требуется запускать скрипт автоматически на регулярной основе.
Ваша операционная система содержит утилиты, позволяющие планировать задачи, такие как выполнение скрипта. Необходимо указать расположение файла скрипта, частоту его выполнения, имя и пароль, под которыми будет выполняться задача. Дополнительные сведения см. в статье Программирование скрипта Python для запуска в заданное время.