Управление мощностями ‒ та ещё задачка

в 16:45, , рубрики: Блог компании Инфосистемы Джет, инфосистемы джет, ит-инфраструктура, Серверная оптимизация, Серверное администрирование, управление мощностями

Отлично, когда ваше ИТ-детище сталкивается с ростом выручки, пользователей, CTR, обрабатываемых документов, кредитных заявок, количества филиалов и прочих приятно почесывающих ЧСВ вещах. Все эти штуки называются бизнес-драйверами, которые в правильной ситуации коррелируют с нагрузкой на ИТ-инфраструктуру, расположенной под вашим сервисом. Правильное планирование мощностей защитит вас от epic fails в чёрную пятницу (чтобы она не стала действительно чёрной ;)) и ваш бюджет во все остальные дни. Сегодня поговорим не о самом процессе управления мощностями, а о технической стороне вопроса. Расскажу, при помощи каких отчетов можно прикидывать тренды и строить корреляционные матрицы. Давайте вкратце расскажу какой опыт мы скопили, а все вопросы задавайте в комментариях или личным сообщением. Поехали!

cost_risk_balance

Первый метод оценки ‒ временной анализ. Сам по себе он бывает нескольких видов.

1. Производительность во времени (PTA – Performance vs Time analysis) –показывает значения одной или более метрик производительности за выбранный интервал времени. Ещё можно визуализировать несколько метрик, принадлежащих к различным системам в разных масштабах.

Основными задачами этого типа анализа являются:

  • определение наиболее критических ресурсов, для последующего использования в «что-если» анализе;
  • создание пороговых (базовых) уровней производительности для систем, основанных на исторических данных, для:
    • проверки или изменения временных интервалов, которые будут использоваться в дальнейшем анализе,
    • анализа тенденций (линейные, скользящие средние),
    • обнаружения типичного поведения (ежедневно, еженедельно, ежемесячно);
  • определения пиковых нагрузок;
  • определения повторяющихся всплесков и их значений.
pta_analyse

Пример временного анализа с визуализаций 3 метрик – загрузок ЦПУ, оперативной и дисковой памяти

2. Нагрузка во времени (LTA – Load vs Time analysis) – показывает поведение одной или нескольких бизнес-метрик в выбранный интервал времени. Примером является количество сделок в течение определенного периода времени.

Основные задачи LTA:

  • провести анализ и выбрать бизнес-метрики по следующим критериям:
    • значимость приложений,
    • зависимость между бизнес-метриками;

  • проверки или изменения временных интервалов, которые будут использоваться в дальнейшем анализе;
  • анализ тенденций (линейные, скользящие средние);
  • обнаружение типичного поведения (ежедневно, еженедельно, ежемесячно), возможных пиков нагрузок при выполнении периодических заданий;
  • определение повторяющихся всплесков и их значений;
  • определение пороговых значений бизнес-метрик для расчёта средних показателей и дисперсии.
pta_analyse_business_metrics

Пример временного анализа бизнес-метрик

3. Анализ конфигураций (CA — configuration analysis) – показывает исторические значения конфигурации конечных серверов и т.п. за выбранный период времени.

pta_analyse_infrastructure

Пример временного анализа конфигураций аппаратного комплекса

Второй метод оценки — корреляционный анализ.

При анализе данных создаются связки между бизнес-драйверами и технологическими ресурсами в соответствии с коэффициентом корреляции. Коэффициент корреляции ‒ это такой зверь, который показывает степень взаимосвязи двух метрик и может принимать значения от -100% (полная обратная зависимость) до +100% (полная прямая зависимость). Значение равное 0 (и близкое к нему) показывает отсутствие зависимости между парой метрик.

При построении отчета корреляционный анализ используется для построения корреляционных карт и карт бизнес-метрик. Карты бизнес-метрик ‒ ключевой компонент при построении отчета, отображающий зависимость бизнес-показателей и используемых ресурсов. К примеру, на рисунке ниже, приведена зависимость бизнес-метрик (количество запросов от веб-клиента и количество отправленных сообщений веб-клиенту) от ресурсов сервера приложений и СУБД, на котором работает приложение.

depending_metrics

Пример зависимостей метрик

На основании этой информации настраиваются карты бизнес-метрик для последующего анализа производительности в разрезе бизнес-нагрузки.

business_metrics_map

Пример карты бизнес-метрик

metrics_correlation

Расчет корреляции значений параметров производительности и бизнес-метрик

В результате выявляется степень загрузки бизнес-метриками конкретных ресурсов на конкретных серверах:

resource_load

Степень загрузки ресурсов нагрузкой бизнес-метрик

Полученные данные позволяют наглядно отразить зависимость бизнес-метрик от выделенных ресурсов и определить точки насыщения и т.п.:

PLA

Зависимость и точка насыщения общего количества запросов в бизнес-системе к загрузке CPU

Также, корреляционный анализ используется для сравнения любых пар метрик в системе. Это могут быть как бизнес-метрики, так и метрики производительности:

LLA

Пример сравнения двух бизнес-метрик (количество заходов на сайт против количества просмотренных страниц

comparison

Пример сравнения метрик производительности

И, наконец, третий тип оценки ‒ расчет трендов.

Модель прогнозирования будущего поведения (расчет трендов) используется, для определения будущих значений и динамики изменения одного или нескольких показателей производительности (или бизнес-метрик) по историческим данным.

Ниже на рисунке представлена модель возможного использования данного механизма. В систему загружены исторические данные по загрузке исходящего канала связи. Для этого параметра выставлено пороговое значение – 70% загрузки канала от максимально возможного. С помощью механизма экстраполяции автоматически выстраивается тренд динамики роста параметра и определяется время насыщения (достижения порогового значения) – менее 1 календарного месяца.

trend_calculation

Пример использования расчета тренда для определения времени насыщения

Такой инструмент также используется для проведения «что-если» анализа. К примеру, ниже представлен вариант сценария по расчету увеличения общего дискового пространства. На графике зеленым показан выделенный объем и точка увеличения дискового пространства (середина марта). Синим – график использования дискового пространства. Таким образом, построенный тренд и «что-если» анализ (добавление диска) показывают, что точка насыщения не наступит до конца года.

what_if

Вариант сценария по расчету увеличения общего дискового пространства

«Что-если» анализ также используется для расчета показателей работы ИТ-инфраструктуры в зависимости от изменяемых значений бизнес-метрик.

На рисунке ниже приведен пример расчета максимально возможных показателей заходов в систему и количества отправляемых заказов. В первой части таблицы указаны бизнес-метрики (Visits, Orders Received) и их текущие значения (30 000 заходов в час и 1 000 заказов). В графе Target указываются проверяемые значения параметров (120 000 и 5 000). В результате можно рассчитать максимальную нагрузку на инфраструктуру (61 500 и 2 400 соответственно), а также видна точка отказа – производительность CPU (красная точка на таблице внизу).

point_of_failure

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

Таким образом, можно определить максимальную мощность инфраструктуры, определить узкие места и своевременно принять решение о модернизации.

Пожалуйста, обращайтесь с вопросами в комментариях. А если задача требует чуть более вдумчивого подхода, наш консалтинг – он, как майские праздники, – всегда вас порадует.

В конце поста есть пара опросов, будет здорово, если вы сможете уделить на них пару десятков секунд. Спасибо!

Автор статьи: Антон Касимов, архитектор систем управления, компания «Инфосистемы Джет».

Автор: Инфосистемы Джет

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js