• Главная
  • Контакты
Подписаться:
  • Twitter
  • Facebook
  • RSS
  • VK
  • PushAll
logo

logo

  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • За год
    • Положительные
    • Отрицательные
  • Сортировка
    • По дате (возр)
    • По дате (убыв)
    • По рейтингу (возр)
    • По рейтингу (убыв)
    • По комментам (возр)
    • По комментам (убыв)
    • По просмотрам (возр)
    • По просмотрам (убыв)
Главная
  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • Главная
  • Управление мощностями ? та ещё задачка

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

24.04.2017 16:45
ITSystemsManagement 0 1600 Источник
Серверное администрирование*, Серверная оптимизация*, IT-инфраструктура*, Блог компании Инфосистемы Джет
Отлично, когда ваше ИТ-детище сталкивается с ростом выручки, пользователей, 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

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

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

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

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

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

Проголосовало 12 человек. Воздержалось 7 человек.

Внедрен ли у вас в компании ITIL-процесс управления мощностями?

Проголосовало 10 человек. Воздержалось 6 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

Комментарии (0)

МЕТКИ

  • Хабы
  • Теги

Серверное администрирование

Серверная оптимизация

IT-инфраструктура

Блог компании Инфосистемы Джет

ит-инфраструктура

управление мощностями

инфосистемы джет

СЕРВИСЫ
  • logo

    CloudLogs.ru - Облачное логирование

    • Храните логи вашего сервиса или приложения в облаке. Удобно просматривайте и анализируйте их.
Все публикации автора
  • Управление мощностями ? та ещё задачка +5

    • 24.04.2017 16:45

    Удобная памятка и 8 ссылок на документацию по ГОСТ 34 (автоматизированные системы) +8

    • 17.02.2017 03:20

    Gartner выкатил новый магический квадрант для систем мониторинга +8

    • 19.01.2017 12:24

    Декомпиляция Java-методов на продуктивном приложении под нагрузкой – миф или реальность? +7

    • 10.11.2016 07:06

    Тестируем не совсем реальный (или совсем нереальный) мониторинг от New Relic и Appdynamics +7

    • 20.10.2016 16:39

    Как приготовить тосты и заодно визуализировать ИТ-системы +10

    • 03.10.2016 23:20

Подписка


ЛУЧШЕЕ

  • Сегодня
  • Вчера
  • Позавчера
09:01

Что значит «хороший вкус» в разработке ПО? +17

11:20

О горьком опыте масштабирования производств, о важности ведер и о причинах седины +11

08:00

Как я сделал робота — что хотел и что получилось. Часть 1 +11

08:00

Motorola Razr V3: икона стиля из нулевых. Разбираем и изучаем +11

13:01

Пайплайн цифрового фотографа на LINUX +10

00:05

Атом смысла: как из ничего получить все +8

07:41

От GPT-2 к gpt-oss: анализ достижений архитектуры +7

13:20

Русские ящеры профессора Амалицкого +6

12:24

Open source-стратегии: как и с кем Arenadata развивает партнёрские отношения, и причем здесь открытые технологии +6

11:51

Почему хороших middle-разработчиков не повышают до senior — честный взгляд изнутри +6

04:38

Как я переделал свой мини-ПК и зачем мне это было нужно +6

00:43

Запускаем Qwen3-VL-30B на 48GB VRAM +6

10:52

Опасности планирования следующей поездки с помощью ИИ +5

07:28

Хранение временных данных в PostgreSQL +5

07:01

Управление проектами: дайджест публикаций #42 +5

05:16

Rust + C++ через FFI: как подружить два мира и не сойти с ума +5

12:06

LackFox pico — одноплатник в форм факторе Arduino +4

11:05

Элементы игрового дизайна и механики, от которых пора избавиться +4

10:16

Паттерны программирования при работе с LLM +4

07:17

Гомоморфное шифрование: классификация шифров и аппаратные ускорители +4

14:06

Тайна самой дешевой консоли с Ozon +136

08:30

Реверс-инжиниринг: стартуем прошивку ReadyNAS через QEMU +46

17:46

Линейная алгебра: четыре разных подхода к одной задаче +41

13:01

Pentax MZ-M и другие: как пластиковые камеры чуть не убили пионеров зеркалкостроения +32

09:01

«LLVM для AI». Крис Латтнер и язык программирования Mojo +30

17:59

Предварительный взгляд на 3I/ATLAS с Марса +25

09:16

OpenSource, или как я перестал бояться и полюбил автотесты +21

09:16

OpenSource, или как я перестал бояться и полюбил автотесты +21

11:22

Parquet — король умер? Да здравствует… кто? Обзор BtrBlocks, FastLanes, Lance и Vortex +19

06:57

Topical Authority на практике: как стать экспертом в глазах Google (и почему одна статья никогда не ранжируется) +19

05:30

Go, Rust или всё же C++? Куда мы переписываем наш высоконагруженный бэкенд в 2025 +18

13:38

Экспериментальный селф-хостинг — материалы для начинающих, личный опыт, DIY-гайды и домашние лабы +15

08:04

FreeBSD и крепкий сон ноутбука +14

12:15

Минимальный каркас самописного Bootloader'a на STM32F103C8T6. Пошаговый пример +11

10:27

Реализация сервиса на C++: TDD, DDD и событийно-ориентированная архитектура +11

08:01

Linux 6.17: свежие драйверы, быстрые сети и надежная память +11

03:46

Время одиночных разработчиков и микрокоманд: как ИИ съел оргструктуру +11

10:16

Призрак в машине: ИИ-подделка и аура в эпоху алгоритмической воспроизводимости +9

12:00

Лабораторный блок питания с плавной регулировкой, цифровым дисплеем и дополнительными выходами USB +7

05:40

Создание пользовательских обработчиков для логов в Python +7

09:01

Носить электроны в решете, или зачем радиолампам дырявые аноды? +71

07:00

Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx +60

14:36

Промышленный увлажнитель дома +58

19:06

Kernel-hack-drill и новый эксплойт для CVE-2024-50264 в ядре Linux +54

11:53

PCIe умер, да здравствует CXL +54

14:46

ESP32 + LD2410: Архитектуры нейронных сетей для классификации движений +49

10:16

[Пятничное] Я сломал русский язык. Теперь ваша очередь +43

08:05

VEF ТА-12. Оживляем раритетный телефон с АОН +37

13:01

Три пути к 4K: выбираем свой инструмент для нейросетевой реставрации видео +34

11:00

Видеокарты NVIDIA для enterprise: A2000, T4 и A2 — что выбрать и как арендовать за рубль +34

17:05

Обернитесь, сзади стоит D&D. Настолка, покорившая мир +25

09:53

Куда исчез шиллинг: флорины, пенсы и некоторые другие монеты Великобритании +24

09:13

Безопасные операции zero-copy на C# +23

16:05

Как спать идеально +21

13:07

Пандемия «порченой крови»: виртуальная катастрофа с реальным продолжением +21

12:27

Как я писал свою звонилку для видеозвонков +20

14:40

Как устроены перечисления в PHP +19

14:16

PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект +18

10:28

Внедрение пуш-уведомлений в React Native: от Firebase до кастомных модулей +17

12:18

Архитектура NGFW: опыт использования VPP и DPDK, частые ошибки разработчиков +16

ОБСУЖДАЕМОЕ

  • Промышленный увлажнитель дома +58

    • 76   20000

    Go, Rust или всё же C++? Куда мы переписываем наш высоконагруженный бэкенд в 2025 +18

    • 57   14000

    Предварительный взгляд на 3I/ATLAS с Марса +25

    • 51   26000

    Тайна самой дешевой консоли с Ozon +136

    • 47   31000

    PCIe умер, да здравствует CXL +54

    • 45   76000

    Носить электроны в решете, или зачем радиолампам дырявые аноды? +72

    • 43   4400

    Безопасность удалённого доступа: почему RDP и VNC уступают современным решениям -7

    • 35   11000

    PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект +18

    • 33   10000

    Лабораторный блок питания с плавной регулировкой, цифровым дисплеем и дополнительными выходами USB +7

    • 28   5600

    Ледокол для Человечества: Может ли общая идея построить мост над пропастью? +6

    • 28   1700

    Цифровая зависимость: почему проприетарный софт — тупик для человечества? +3

    • 27   1100

    Как спать идеально +21

    • 27   4800

    [Пятничное] Я сломал русский язык. Теперь ваша очередь +43

    • 26   4700

    Так говорим только мы. Или почему на «Nice to meet you» нельзя отвечать «Me too» +10

    • 23   10000

    Гипотеза Коллатца как фейл мировой математики (окончание) -1

    • 22   6100
  • Главная
  • Контакты
© 2025. Все публикации принадлежат авторам.