Геопорталы как внешний компонент цифровых инфраструктур пространственных данных (ИПД) относятся к классу распределенных веб-систем и, следовательно, наследуют их характерные особенности. В частности, этот факт накладывает отпечаток на нефункциональные требования, предъявляемые к геопортальным системам [1]. Так, с точки зрения безопасности важно обеспечение свойств конфиденциальности (защиты от несанкционированного доступа), доступности (защиты при параллельном доступе к ресурсам) и целостности (сохранности данных) системы. Актуальной задачей при проектировании геопорталов является проблема обеспечения качества обслуживания, заключающаяся в необходимости выполнения определенного набора клиентских требований.
Качественное требование масштабируемости определяет способность геопортальной системы отвечать на вызовы роста функциональности и увеличения рабочей нагрузки [2]. При этом целесообразно, чтобы время поиска по базам геопространственных данных не росло экспоненциально при увеличении объема накапливаемой информации о природно-социально-производственных системах, а величина использования ресурсов не увеличивалась бесконтрольно с ростом количества пользователей.
Данная публикация посвящена решению научной проблемы анализа производительности и оптимизации высоконагруженных геопортальных систем, которая неизбежно возникает в рамках процессов итерационной разработки, внедрения и технической поддержки геопортальных систем и связана с необходимостью получения интегральной оценки производительности.
Материалы и методы исследования
Анализ опыта построения проектно-ориентированных цифровых ИПД показывает, что процесс формирования архитектуры систем данного класса должен быть основан на положении о том, что для оптимизации процессов хранения и эффективного использования пространственных данных ИПД должна содержать связанные за счет программных интерфейсов подсистемы хранения, анализа и синтеза, визуализации и распространения пространственных данных (рисунок). Роль компонента, выполняющего две последние функции, традиционно возлагается на геопортальные системы [3]. Внешними компонентами по отношению к ИПД при этом выступают ее ключевые акторы: пользователи геопортальных систем, ученые и специалисты, потребители и провайдеры геопространственных данных [4].
Геопортальная система как узловой компонент цифровой инфраструктуры пространственных данных
При первичном развертывании геопортала необходимо иметь гарантии устойчивости системы к нагрузкам определенного уровня и обеспечения при этом необходимой производительности (задача первого типа). Для достижения обозначенной цели требуется последовательно решить задачи, направленные на: 1) определение целевой производительности Pt геопортальной системы на основе формализованного набора критериев; 2) проведение нагрузочного тестирования, оценку фактической производительности Pl и сравнение ее с целевыми показателями; 3) развертывание геопортала, оценку производительности при условии работы реальных пользователей Pr и сопоставление полученных показателей с целевыми.
При наличии рабочего геопортального решения может потребоваться решение задачи второго типа: достижение повышения текущей производительности посредством оптимизации текущей версии геопортальной системы на основе последовательного решения следующих задач: 1) интегральная оценка текущей производительности системы Pr1; 2) выявление узких мест геопортальной системы, ее программно-аппаратных компонентов, особенности функционирования которых ограничивают возможность достижения целевых показателей производительности Pt; 3) оптимизация системы с последующей оценкой производительности новой версии Pr2 и сравнение полученного результата с целевым показателем Pt.
Для решения обозначенных выше задач необходимо определить методику формирования оценки производительности P. Данный показатель должен быть прикладным (отражающим реальную неабстрактную производительность геопортальной системы), интегральным (учитывающим все ключевые аспекты работы системы и варианты ее использования); количественным (измеряющимся в числах для обеспечения возможности сравнения производительности при разных условиях для различных версий системы); интерпретируемым (определяемым в терминах «хорошо» – «плохо»).
Примем за множество ключевых операций геопортальной системы Op совокупность из конечного числа n операций, являющихся критичными для функционирования инфраструктуры пространственных данных, недостаточная производительность которых ведет к потерям различного типа. Отдельного внимания при этом заслуживают операции, выполняемые параллельно большим количеством пользователей.
Далее решение задачи анализа производительности геопортальной системы с целью оптимизации ее функционирования в условиях высокой нагрузки будем проводить с позиции исследования особенностей выполнения ключевых операций.
Отметим, что для оценки производительности корпоративных систем в условиях высокой нагрузки существуют известные методики и стандарты. Так, методика Apdex (Application Performance Index, или индекс производительности приложений) представляет собой международный открытый стандарт [5], разработанный для решения задачи объективной оценки производительности информационных систем разного класса и позволяющий свести к простому значению разнородные факторы и статистические данные о производительности информационной системы. К положительным особенностям рассматриваемого аппарата следует отнести ранжирование анализируемых операций по приоритетности, учет объективных фактических данных, интуитивную понятность оценки для конечных пользователей системы и ее владельцев. Однако у данного подхода есть и недостатки, заключающиеся в недостаточной гибкости аппарата и ориентации главным образом на показатели отклика системы.
Результаты исследования и их обсуждение
Приведем последовательность шагов по формированию методики объективной оценки производительности геопортальной системы. Для каждой ключевой операции opi определим приоритет πi, выражаемый натуральным числом, обратно пропорциональным важности ключевой операции и позволяющим отсортировать операции в порядке критичности влияния качества их производительности на работу геопортальной системы в целом.
Следующим этапом необходимо собрать данные о производительности для каждой ключевой операции opi, которые должны быть зафиксированы в виде множества показателей производительности операции Τi, имеющего мощность m:
Показатель производительности τij при этом должен быть выражен численным значением: это могут быть замер времени выполнения ключевой операции, показатель отказов, факт запуска определенного сценария и активации условий, число ошибок и т.д. Также каждому показателю производительности τij может быть задан приоритет πij, указывающий на важность критерия. Для каждого показателя производительности τij определим получаемое на основе функции fij:τij → Xij конечное число утверждений, характеризующих кластеризованные по определенному принципу значения набора показателей производительности:
Каждому утверждению xijk сопоставим значение фактора влияния риска ωijk. Значениям каждого показателя производительности должно быть сопоставлено минимум два утверждения: xij0, для которого ωij0 = 0 (для случая, при котором наступает отрицательное влияние на работу геопортальной системы), и xij1, для которого ωij1 = 1 (для положительного результата). Дополнительно можно определить конечное число утверждений xijk с факторами влияния риска ωijk, характеризующими состояния различной степени умеренности, причем исход можно считать тем более положительным, чем больше принятое для него значение ωijk.
Обозначим через Nijk количество исходов за серию испытаний, приведших к получению утверждения xijk. Таким образом, проведя серию из L наблюдений относительно выполнения операции opi, с точки зрения оценки показателя производительности τij можно дать оценку производительности PΣij относительно операции i c точки зрения показателя j для анализируемой геопортальной системы:
Показатель производительности PΣij при этом будет измеряться в интервале от нуля (худший, неудовлетворительный исход) до единицы (идеальный тест).
Интерес представляет альтернативный показатель, выстраиваемый по принципу гистограмм PΗij и характеризующий распределение количества показателей производительности при серии из Lij испытаний по Aij группам. Для его расчета определим через τij(L) вектор, сформированный на основе значений параметров τij, полученных на основе Lij испытаний.
При этом количество групп A может быть подобрано вручную с целью повышения информативности метрики или определено на основе правила. Так, согласно правилу Стёрджеса [6], количество групп зависит от объема данных:
Однако это правило не годится для искаженных наборов данных и может быть модифицировано с целью учета особенностей выборок с нестандартным распределением вероятности путем учета коэффициента асимметрии gij и стандартного отклонения .
Для интегральной оценки PΣi производительности ключевой операции opi относительно всего множества показателей производительности Τi можно прибегнуть к использованию агрегатных функций, например взятию минимума.
В этом случае значение PΣi будет равно худшей оценке производительности ключевой операции opi относительного каждого критерия из множества Τi, что позволяет метрике давать характеристику надежности геопортальной системы относительно информации о значении наиболее низкого показателя производительности и характеризует наиболее узкое место в системе. Учитывая значения πij(min) (пороговый значимый приоритет), можно отсечь при этом операции определенно низкой значимости и не учитывать их производительность.
На основании определенных правил значения производительности системы P могут быть сопоставлены с интерпретируемыми с позиции «хорошо» – «плохо» терминами.
Представим далее перечень рекомендаций по развертыванию геопортальных систем, позволяющих повысить их надежность и отказоустойчивость:
1) развертывание и настройка облачных мультимодельных хранилищ данных [7] в нескольких регионах, а также узлов с геопортальным фреймворком в разных зонах доступности с балансировкой нагрузки над ними и оркестрацией узлов;
2) организация инструментария жизненного цикла геопортальной системы, представляющего возможности для управления репозиторием, отслеживания ошибок, непрерывной интеграции;
3) проведение юнит- и функциональных тестов в изолированном окружении, мониторинг и отслеживание статусов геопортальных сервисов и серверов и сетевого оборудования, сбор бизнес-метрик и уведомлений об отказах системы;
4) организация резервного копирования данных в облачное хранилище в зашифрованном end-to-end виде и с дедупликацией.
Таким способом достигаются следующие свойства геопортальной системы: устойчивость при падении отдельного сервера, а также при недоступности дата-центра любого региона; автоматическая перестройка репликации и балансировки; возможность автоматического разворачивания новых окружений для разработки при создании новых ветвей; непрерывная интеграция и разработка через тестирование; развертывание новых версий без простоя.
Выводы
В статье дана характеристика проекту, посвященному решению научной проблемы анализа производительности и оптимизации высоконагруженных геопортальных систем. Данная проблема возникает в рамках итерационной разработки, внедрения и технической поддержки геопортальных систем и связана с необходимостью получения интегральной оценки производительности: при первичном развертывании геопортала необходимо иметь гарантии относительно устойчивости системы к нагрузкам определенного уровня и обеспечения при этом необходимой производительности, а при наличии рабочего геопортального решения может потребоваться повышение текущей производительности посредством оптимизации текущей версии геопортальной системы на основе последовательного решения следующих задач.
Для решения обозначенных выше задач разработана методика формирования оценки производительности в виде прикладного, интегрального, количественного, интерпретируемого показателя, устраняющего проблему методики Apdex, заключающуюся в недостаточной гибкости аппарата и ориентации, главным образом, на показатели отклика системы. На основании определенных правил значения производительности системы могут быть сопоставлены с интерпретируемыми с позиции «хорошо» – «плохо» терминами.
В заключение статьи представлен перечень рекомендаций по развертыванию геопортальных систем, позволяющих получить следующие свойства: устойчивость при отказе отдельного сервера; автоматическая перестройка репликации и балансировки; возможность автоматического развертывания новых окружений для разработки при создании новых ветвей; непрерывная интеграция и разработка через тестирование; развертывание новых версий без простоя.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 20-37-70055.