PG_HAZEL : Анализ результатов нагрузочного тестирования для малой ВМ
Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).
Предыдущие работы по теме
Задача
Провести комплексный анализ результатов нагрузочного тестирования со стороны метрик производительности СУБД и операционной системы.
Виртуальная машина 06
CPU = 2
RAM = 2GB
Astra Linux 1.7
PostgreSQL 15
Сценарий тестирования и нагрузка на СУБД
Mix
Select only : 50% нагрузки
Select + Update : 30% нагрузки
Insert only : 15% нагрузки
Нагрузка
Операционная скорость
Классический график изменения операционной скорости в ходе нагрузочного тестирования:
Горизонтальный тренд: производительность не растет
Вертикальный тренд: резкий рост производительности
Горизонтальный тренд: производительность практически не меняется
Нисходящий тренд: производительность снижается с ростом нагрузки
Зависимость операционной скорости от нагрузки на СУБД
Ожидания СУБД
Зависимость ожиданий от нагрузки на СУБД
Конкуренция за ресурсы CPU
procs_r процессы в run queue (готовы к выполнению)
Результат: Очередь процессов растет
system_cs переключения контекста
Результат: высокая положительная корреляция с операционной скоростью
cpu_sy system time
Результат: Высокая корреляция с операционной скоростью.
Результат анализа конкуренции за ресурсы CPU:
procs_r процессы в run queue (готовы к выполнению) : постоянно превышает количество ядер CPU
cpu_sy system time: Рост значений до 29%
Вычислительные ресурсы виртуальной машины недостаточны для тестовой нагрузки.
Конкуренция за RAM
swap_si swap in (из swap в RAM)
Отсутствует
swap_so swap out (из RAM в swap)
Отсутствует
memory_free свободная RAM
Менее 5% от RAM.
Результат анализа конкуренции за ресурсы RAM:
Для тестовой нагрузки ресурсов RAM - достаточно.
Конкуренция за ресурсы IO
procs_b процессы в uninterruptible sleep (обычно ждут IO)
Результат: количество процессов ожидающих IO - не растет.
cpu_wa ожидание IO
Результат: доля времени CPU в ожидания IO снижается.
Результат анализа конкуренции за ресурсы IO:
Подсистема IO настроена оптимально.
Влияние гипервизора на CPU и IO
Влияние на CPU
Отсутствует
Влияние на IO
procs_b процессы в uninterruptible sleep (обычно ждут IO)
Результат: procs_b процессы в uninterruptible sleep (обычно ждут IO) - не растет
cpu_wa ожидание IO
Результат: cpu_wa ожидание IO - не растет
Влияние на IO - отсутствует.
Итоговый результат анализа инфраструктуры ВM-06 по итогам нагрузочного тестирования СУБД
Вычислительные ресурсы виртуальной машины недостаточны для тестовой нагрузки.
Для тестовой нагрузки ресурсов RAM - достаточно.
Подсистема IO настроена оптимально.
Влияние гипервизора на CPU - отсутствует.
Продолжение
PG_HAZEL : Анализ результатов нагрузочного тестирования для большой ВМ
Postgres DBA
91 пост17 подписчиков
Правила сообщества
Пока действуют стандартные правила Пикабу.