Рекомендации по поддержке производительности сервисов геообработки

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

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

Использование слоев для рабочих данных

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

Например, сервис Видимость (Viewshed) на сервере Esri SampleServer и дополнительный модуль ArcGIS Network Analyst extension, которые создают полигоны времени пути, используют слои. В зависимости от размера набора данных это может выиграть от 1 до 2 секунд для каждого выполнения сервиса.

Использование локальных данных в ArcGIS Server

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

Запись промежуточных данных в память

Можно записывать промежуточные данные в память. Запись данных в память происходит быстрее, чем запись данных на диск.

ПримечаниеПримечание:

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

Новой возможностью версии 10.1 является возможность записи растров в память.

Дополнительные сведения о записи данных в память

Предварительная обработка данных, используемая задачами

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

Добавить атрибутивные индексы

Если задача состоит в выборе данных с помощью запросов атрибутов, создайте атрибутивный индекс для каждого атрибута, используемого в запросах. Можно использовать инструмент Добавить атрибутивный индекс (Add Attribute Index). Индекс необходимо создать только один раз за пределами модели или скрипта.

Добавление пространственных индексов

Если модель или скрипт выполняет пространственные запросы в шейп-файлах, создайте пространственный индекс для шейп-файла с помощью инструмента Добавить пространственный индекс (Add Spatial Index). Если используются классы объектов базы геоданных, пространственные индексы создаются и поддерживаются автоматически. В некоторых случаях повторный пересчет пространственного индекса может повысить производительность, как описано в разделе Настройка пространственных индексов.

Использование синхронного режима (вместо асинхронного)

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

Избегайте ненужных преобразований координат

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

Уменьшение объемов данных

Любое программное обеспечение, которое обрабатывает данные, работает быстрее, если набор данных небольшой. Существует ряд способов уменьшения объема географических данных:

Различия между 10.0 и более поздними версиями

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

Прежние версииПрежние версии:

В версиях до 10.1, если конфигурация ArcGIS for Server состояла из нескольких компьютеров или задействовались пути UNC к вашему каталогу arcgisjobs, то рекомендовалось настроить локальный рабочий каталог. Этот локальный рабочий каталог значительно ускорял обработку, так как обработка каждой задачи велась на локальном сервере, а окончательный результат передавался клиенту. Начиная с версии 10.1 настройка локальных каталогов заданий стала задачей администратора сервера ГИС. Создатель задачи геообработки больше не должен настраивать для задачи локального каталога заданий, так как он используется автоматически, если сервер входит в кластер, состоящий из нескольких компьютеров, или ссылками на каталоги являются пути UNC.

Прежние версииПрежние версии:

До версии 10.1 сервис геообработки работал с растрами, поэтому рекомендовалось поддерживать их в формате GRID. В целом, формат GRID работает быстрее, так как некоторые инструменты были оптимизированы для работы с GRID. Начиная с версии 10.1 все растровые инструменты могут считывать и записывать данные в исходном формате без снижения производительности.

Связанные темы

5/16/2014