Что такое быстродействие?
Быстродействие информационной системы — это показатель, который характеризует скорость выполнения системой операций и задач.
Быстродействие информационной системы может быть улучшено за счет оптимизации алгоритмов, использования более производительного оборудования, а также применения различных технологий и методов оптимизации. В общем случае, целью является достижение максимально возможного быстродействия системы при сохранении ее надежности, безопасности и соответствия требованиям пользователей и приложений.
В данной статье рассмотрим общие положения, которые помогут при анализе и оптимизации производительности кейсов на платформе Optimacros.
Структура приложения
Рассмотрим структуру приложения Optimacros и компонентов, которые оно использует, с точки зрения поиска и понимания возможных проблем с быстродействием.
- Железо
- Web-клиент
- WS и ЛЦ
- Модель
Optimacros может быть развернут как в облаке, так и on-premise. Существуют требования к серверу (прикрепить ссылку на документ), которые необходимо соблюдать для минимизации проблем с производительностью, вызванных избыточной нагрузкой на hardware составляющую системы.
Работа пользователей с системой осуществляется через веб-браузер. В контексте оптимизации быстродействия стоит обращать внимание на требования к возможным поставщикам и версиям браузеров со стороны Optimacros, а также на наличие сетевых проблем на стороне пользователя.
Два основных компонента приложения ОМ, с которыми сталкиваются пользователи в работе: Workspace (WS)– рабочая область, в которой происходит непосредственное взаимодействие с моделями и данными Optimacros.
Логин центр (ЛЦ) – приложение, которое отвечает за управление учетными записями пользователей и за доступ в Optimacros.
Возможные вопросы быстродействия на уровне этих компонентов рассмотрим ниже.
Наиболее интересным блоком внутри темы быстродействия является оптимизация производительности моделей Optimacros. Влияние могут оказывать объем модели и ее конкретных объектов, формат и формулы связей между ними, структура скриптов и др. Для того, чтобы лучше ориентироваться в вопросах быстродействия моделей, необходимо понимать, в каком разделе приложения выполняются те или иные операции.
BackEnd (BE) – часть приложения и программные компоненты, которые обрабатывают данные, выполняют логику приложения и взаимодействуют с базой данных. В Optimacros сюда входит хранение данных, расчеты (формулы).
FrontEnd (FE) – часть приложения, которая отвечает за пользовательский интерфейс. В Optimacros сюда входят фильтры, кнопки, графики, дэшборды, контекстные таблицы и др. внешние элементы.
MiddleWork (MW) – часть приложения, которая обеспечивает взаимодействие между различными компонентами приложения или системы (в частности BE и FE). В Optimacros сюда входит исполнение скриптов, подготовка (построение) гридов для визуализации на FE и др.
Наиболее частые вопросы производительности в каждом из компонентов
Железо- Переполнение жесткого диска
- Переполнение оперативной памяти
- Экстремальная загрузка процессора
- Проблема с железом (используется HDD вместо SSD)
- SWAP ОЗУ на жесткий диск. Наиболее часто встречается в коммерческих облачных сервисах, когда происходит выгрузка модели из ОЗУ в SSD и обратно.
Web-клиент/ЛЦ
- Долго открывается/не открывается страница по ссылке
- Долго осуществляется переход на WS после заполнения учетных данных
WS
- Долго открывается/не открывается модель
Модель
- Проблемы с производительностью интерфейсов управления мастер-данными (справочники, атрибуты, подмножества и др.).
Место в приложении: FE/BE/MW.
Основные бенчмарки: добавление новых элементов/атрибутов в справочники, изменение атрибутов и иерархий, заполнение подмножеств. - Проблемы с производительностью скриптов (долгое выполнение скриптов интеграции и др.).
Место в приложении: MW.
Основные бенчмарки: скорость выполнения скриптов и цепочек скриптов. При этом стоит учитывать, что в зависимости от объема данных и специфики скрипта бенчмарки «хорошей» производительности могут варьироваться. - Проблемы с производительностью форм ввода (скорость ручного заполнения ячейки).
Место в приложении: BE (редко FE).
Основные бенчмарки: скорость ввода данных на формах ввода. Этот показатель чаще всего зависит от количества ячеек в модели, пересчет которых вызывает введенное значение. В следующих статьях будут более детально описаны варианты оптимизации в этой области, в частности, сокращения объема пересчетов in-memory. - Проблемы с производительностью дэшбордов (долгое открытие дэшбордов, долгое переключение фильтров).
Место в приложении: FE/MW.
Основные бенчмарки: первичная загрузка карточек дэшборда, скорость обновления карточек при изменении контекста. - Общие проблемы с производительностью модели (долгое сохранение формул, долгое открытие мультикубов). BE.
Место в приложении: BE/Hardaware/Сеть.
Основные бенчмарки: скорость сохранения формул, скорость открытия мультикубов, скорость создания новых кубов/мультикубов, скорость изменения форматов кубов и тд. При возникновении подобных кейсов стоит обращать повышенное внимание на возможные проблемы на уровне железа или сети. - Блокировка работы пользователей длительными операциями внутри модели.
Место в приложении: BE/MW
Основные бенчмарки: зависание простых операций, которые обычно не вызывали вопросов, и появление плашки с очередью процессов в правом нижнем углу экрана. К подобным операциям относятся, например, пересчет модели, перезапуск модели, бэкапироваие (в некоторых случаях для моделей большого объема) и еще ряд операций, который будет описан в других статьях.
Типовые решения
Железо
Соблюдение требований вендора к Hardware и правильный сайзинг решают большую часть проблем с быстродействием на данном уровне. Отдельные кейсы, которые не решаются данными способами, будут описаны в следующих статьях.
Web-клиент/ЛЦ
Большая часть проблем с быстродействием на уровне Web-клиента может быть решена за счет устранения сетевых неполадок на стороне пользователя, а также установкой «правильного» браузера и/или очисткой кэша. Отдельные кейсы, которые не решаются данными способами, будут описаны в следующих статьях.
WS
Большая часть проблем с быстродействием на уровне WS может быть решена за счет двух предыдущих пунктов. Отдельные кейсы, которые не решаются данными способами, будут описаны в следующих статьях.
Модель
Решение проблем с быстродействием моделей и оптимизации их производительности требует детального анализа причин и последовательного их устранения. Типовые кейсы описаны в статье (BAA20 Порядок анализа причин снижения производительности)
*-Статья будет периодически актуализоваться подразделением PDTS
Ещё материалы
АТОМС Консалтинг – официальный партнер Optimacros, партнер Anaplan в России с 2015 года