Есть некоторые свойства, которые можно изменить, чтобы настроить GeoAnalytics Server в вашем развёртывании. Настройка этих опций для вашей организации помогает оптимизировать производительность GeoAnalytics Server. При настройке следует иметь в виду следующее:
- Число одновременно выполняемых задач
- Размер используемых данных
- Как часто будут запускаться задания
- Доступные ресурсы
Инструменты Инструменты геоаналитики, которые запускают пользователи портала, приводятся в действие заданиями в системном сервисе GeoAnalyticsTools на вашем сайте ArcGIS Server. Перечисленные ниже свойства системы заданы на сайте GeoAnalytics Server, а свойства сервиса и число экземпляров – в самом системном сервисе GeoAnalyticsTools. Перед изменением параметров прочитайте все заданные опции для планирования своей конфигурации GeoAnalytics.
Внимание:
При обновлении до новой версии ArcGIS Enterprise эти настройки GeoAnalytics Server не сохраняются. Перед обновлением запомните или запишите все свои настройки, а после обновления снова их установите.
Следующие примеры используются в этом разделе:
- Пример 1: Сайт GeoAnalytics Server с тремя компьютерами, который запустит одно задание
- Пример 2: GeoAnalytics Server с тремя компьютерами, который запустит два задания одновременно
В обоих примерах есть три компьютера (узла), каждый с 16 Гб RAM и 4 ядра CPU. В общем у каждого сайта GeoAnalytics Server 48 Гб RAM и 12 ядер.
Примечание:
Рекомендуем вам выделить больше 30 Гб памяти на компьютер для GeoAnalytics.
Свойства системы
Следующие свойства системы являются дополнительными свойствами, которые может настроить администратор сайта для выделения CPU и памяти для вычисления процессов на каждом компьютере сайта ArcGIS Server:
- percentageMaxAllowedComputeCores – Максимальное число ядер CPU (процент доступных на компьютере), используемых для выполнения рабочего процесса на одном узле. Минимальное значение равно 80 процентам, а максимальное – 90. Если задано значение, меньшее, чем 1 ядро CPU, будет использовано одно ядро CPU для вычисления рабочего процесса.
- percentageMaxAllowedComputeMemory – Максимальный объем памяти (процент от доступной на компьютере памяти), используемый для выполнения рабочего процесса на одном узле. Минимальное значение равно 80 процентам, а максимальное – 90.
Выполните следующие шаги, чтобы отредактировать свойства системы:
- Откройте ArcGIS Server и войдите как пользователь с правами администратора. URL-адрес имеет вид http://gisserver.domain.com:6080/arcgis/admin/.
- Щелкните Система > Свойства.
- Щелкните Обновление.
- Добавьте свойства в следующем формате JSON: { "percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>} (например: {"percentageMaxAllowedComputeCores": 90, "percentageMaxAllowedComputeMemory": 90}).
Свойства сервиса
Существует два свойства на уровне сервиса в сервисе GeoAnalyticsTools для выделения максимального объема памяти и максимального числа ядер CPU на задание. Значение по умолчанию – 6 Гб на компьютер и 4 ядра CPU. Рекомендуем обновить их на подходящие значения для вашего объема памяти и CPU. Использование значений по умолчанию не позволит распределить ресурсы для вычисления и приведет к слабой производительности.
Примечание:
Только администраторы могут устанавливать свойства на уровне сервиса. Вам необходимо знать число ядер на сайте вашего сервера, а также объем памяти RAM для каждого компьютера. Если вы не знаете этих значений, можно использовать проверку работоспособности GeoAnalytics, чтобы выяснить их.
Следующее уравнение может быть использовано для получения прогнозируемого максимального допустимого числа вычислительных ядер для задания:
Floor(((percentageMaxAllowedComputeCores) * (total cores on the Server Site) / (number of simultaneous jobs)) = (Maximum allowed compute cores per job)
Следующее уравнение может быть использовано для получения прогнозируемого максимально допустимого объема памяти на задание на отдельный компьютер:
Floor((percentageMaxAllowedComputeMemory) * (GB of RAM on a single GeoAnalytics machine) / (number of simultaneous jobs)) = (Maximum allowed memory per job per machine)
Примечание:
Объем памяти на каждый компьютер является одинаковым среди всех компьютеров GeoAnalytics Server. Если ваш сайт GeoAnalytics Server использует несколько компьютеров с различным объемом RAM, используйте значение для компьютера с наименьшим объемом RAM.
В Примере 1 вы хотите использовать до 80 процентов доступных ядер и вычислительной памяти (как описано в Свойствах системы). Имея для сайта общее число в 12 ядер CPU и 48 Гб RAM (16 на каждом компьютере), число ядер и объемы RAM вычисляются на основе следующих уравнений.
- Число ядер:
Floor(((.80) * (12))/1) = Floor(9.6) = 9
- Объем RAM на компьютер:
Floor(((.80) * (16))/1) = Floor(12.8) = 12
Чтобы воспользоваться ресурсами GeoAnalytics Server и распределить задание по нескольким компьютерам сайта, обновите значения следующим образом:
- Максимально допустимый объем памяти на задание для компьютера (ГБ): 12
- Максимально допустимое число вычислительных ядер на задание (CPU): 9
Это позволит распределить задание на три компьютера сайта при использовании не более 80% доступных ресурсов каждого из них. Такое распределение также затронет число экземпляров, как показано ниже.
В Примере 2 вы хотите использовать до 80 процентов доступных ядер и вычислительной памяти (как описано в Свойствах системы) для запуска двух заданий одновременно. Это означает, что ресурсы должны быть всегда доступны для выполнения двух заданий. Имея для сайта общее число в 12 ядер CPU и 48 Гб RAM (16 Гб на каждом компьютере), число ядер и объемы RAM вычисляются на основе следующих уравнений.
- Число ядер:
Floor(((.80) * (12))/2) = Floor(4.8) = 4
- Объем RAM на компьютер:
Floor(((.80) * (16))/2) = Floor(6.4) = 6
Чтобы воспользоваться ресурсами GeoAnalytics Server и распределить задание по нескольким компьютерам сайта, обновите значения следующим образом:
- Максимально допустимый объем памяти на задание для компьютера (ГБ): 6
- Максимально допустимое число вычислительных ядер на задание (CPU): 4
Чтобы изменить эти свойства, выполните следующие действия:
- Войдите в ArcGIS Server Manager на вашем GeoAnalytics Server в качестве пользователя с административными правами доступа. URL-адрес имеет вид https://gisserver.domain.com:6443/arcgis/manager.
- На вкладке Сервисы выберите папку Система.
- В списке доступных сервисов найдите и выберите редактирование сервиса GeoAnalyticsTools.
- Откройте вкладку Параметры, чтобы задать свойства сервиса. К ним относятся:
- Максимально допустимый объем памяти на задачу на компьютер (Гб) – отображает объем памяти в гигабайтах, который может использовать компьютер для каждого задания.
- Максимально допустимое число ядер на задание (CPU) – отображает общее число ядер CPU, которое может использовать компьютер на задание среди всех компьютеров вашего кластера.
- Когда закончите, щелкните Сохранить и перезапустить, чтобы обновить свойства сервиса.
Если начальные значения не изменены, задача GeoAnalytics будет использовать только часть доступных ресурсов (4 ядра и 18 Гб из доступных 12 ядер и 48 Гб в примере).
Примечание:
При задании объема памяти убедитесь, что вы указали значение меньшее или равное указанному проценту ресурсов компьютера (по умолчанию – это 80 процентов). В этом случае, задания будут ожидать ресурсы, которые не доступны в текущий момент, а затем будут отменены со следующей ошибкой: ERROR BD_101057: Невозможно начать распределенное задание. Проверьте настройки сервиса GeoAnalyticsTools и убедитесь, что доступно достаточно ресурсов для выполнения данного задания. Вы также увидите эту ошибку, если ресурсы недоступны по причине использования этих ресурсов другими заданиями.
Минимальное и максимальное количество экземпляров сервиса GeoAnalyticsTools
По умолчанию минимальное и максимальное количество экземпляров сервиса GeoAnalyticsTools задается равным одному на каждый компьютер ArcGIS Server сайта. В зависимости от количества компьютеров (n) сайта GeoAnalytics Server, будет доступно (n) экземпляров, выполняющих задания GeoAnalytics. В зависимости от количества экземпляров, объема памяти и ядер CPU, выделенных на задание в свойствах сервиса, могут быть выполнены один или несколько параллельных запросов. Все дополнительные запросы к Инструменты геоаналитики будут поставлены в очередь, пока не станут доступными экземпляр и ресурсы памяти и CPU. Если ресурсы не освободятся через минуту, задание будет отменено.
Выделение максимально возможного объема памяти и максимального числа ядер CPU идеально подходит для некоторых заданий.
Для одновременного выполнения нескольких заданий увеличьте максимальное число экземпляров на нескольких компьютерах сайта. Однако вам также необходимо изменить ограничения CPU и памяти на задание, чтобы доступных ресурсов CPU и памяти было достаточно для всех одновременно выполняющихся заданий.
Для задания минимального и максимального числа экземпляров сервиса GeoAnalyticsTools выполните следующие действия:
- Войдите в ArcGIS Server Administrator Directory. URL-адрес имеет вид https://gisserver.domain.com:6443/arcgis/admin.
- Выберите Сервисы > Система > GeoAnalyticsTools.
- Выберите Редактировать.
- Отредактируйте свойства maxInstancesPerNode и minInstancesPerNode, а затем щелкните Сохранить изменения.
В случае с 3 тремя компьютерами достаточно будет трех доступных экземпляров – как для Примера 1, так и для Примера 2. Для запуска более чем трех одновременных заданий в сценарии с тремя компьютерами, кроме изменения ограничений CPU и объемов памяти, вам будет необходимо также обновить число экземпляров.
Общие ограничения CPU и памяти для всех экземпляров не должно превышать системных ограничений CPU и памяти. Общий объем памяти на узел, умноженный на число экземпляров, должен быть меньше объема доступной памяти на одном компьютере (то есть (16 Гб x 0.80) / 2 экземпляра = 6.4, целое значение -> 6), а число ядер для вычисления должно быть меньше общего числа ядер, деленного на число экземпляров (то есть (12 ядер x .80) / 2 экземпляров = 4.8 -> 4).
Таймаут сервиса GeoAnalyticsTools
По умолчанию любое долго выполняемое сервисом GeoAnalyticsTools задание будет отключаться по таймауту через 24 часа. Это значение можно изменить, чтобы инструменты отключались по таймауту через больший или меньший период времени. Свойство таймаута для сервиса GeoAnalyticsTools можно отредактировать в ArcGIS Server Manager, выполнив перечисленные ниже действия.
- Войдите в ArcGIS Server Manager. URL-адрес имеет вид https://gisserver.domain.com:6443/arcgis/manager.
- На вкладке Сервисы выберите папку Система.
- В списке доступных сервисов найдите и выберите редактирование сервиса GeoAnalyticsTools.
- Воспользуйтесь вкладкой Объединение, чтобы задать свойство таймаута для сервиса под пунктом Задание таймаутов сервиса. Измените Максимальное время использования сервиса клиентом, указав количество секунд для нового значения свойства.
- Нажмите Сохранить и перезапустить, чтобы обновить сервис.
Расположение временного файла GeoAnalytics Server
Когда задача запускается в GeoAnalytics Server, временные файлы по умолчанию записываются в папку \<ArcGIS Server installation directory>\server\framework\runtime\spark\work>. Администраторы могут выбрать другое местоположение для временных файлов, задав свойство geoAnalyticsTempFolder, выполнив шаги, перечисленные ниже.
Примечание:
Местоположение geoAnalyticsTempFolder должно быть локальной директорией на каждом компьютере сайте GeoAnalytics Server, и должно быть доступно необходимое дисковое пространство, достаточное для поддержки выполнения задач GeoAnalytics для очень больших наборов данных.
- Выполните вход в ArcGIS Server Administrator Directory на сайте GeoAnalytics Server, как пользователь с правами администратора. URL-адрес имеет вид http://gisserver.domain.com:6080/arcgis/admin/.
- Щелкните Система > Свойства.
- Щелкните Обновление.
- Добавьте свойство в следующем формате JSON: {"geoanalyticsTempFolder": "<value>"} (например, {"geoanalyticsTempFolder": "C:\\temp"}). Отображение этого изменения на странице свойств системы займет около одной минуты.
- Проверьте состояние вашего GeoAnalytics Server с помощью сервиса проверки работоспособности Вычислительная платформа. Выберите Система > Сервисы платформы > Compute_Platform и щелкните health.