Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

Станьте Детективом! Решайте логические головоломки, чтобы найти преступника! 
Множество уровней и интересных историй! События и задачи дня!

Тебе предстоит раскрывать массу разных дел, в этом тебе поможет известный всем сыщикам метод дедукции.

Детектив - логические головоломки

Головоломки, Казуальные, Логическая

Играть
Собирайте комбинации из блоков! Бесконечный режим, более 100 уровней, ежедневные задания и турниры.

Расслабьтесь и отдохните: игра без ограничений по времени.

Проверьте свою смекалку: головоломка для любителей

Блоки Судоку - расслабляющая головоломка

Головоломки, Гиперказуальные, Мобильная

Играть

Тайна Самоцветов: Ключ Сокровищ - Три в ряд

Казуальные, Три в ряд, Головоломки

Играть
Реалистичный симулятор игры бильярд. Играйте в Бильярд 3D: Русский бильярд, как в настоящей бильярдной!

Бильярд 3D: Русский бильярд

Симуляторы, Спорт, Настольные

Играть
Захватывающая аркада-лабиринт по мотивам культовой игры восьмидесятых. Управляйте желтым человечком, ешьте кексы и постарайтесь не попадаться на глаза призракам.

Пикман

Аркады, На ловкость, 2D

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Корреляция

С этим тегом используют

Postgresql Субд Статистика Все
38 постов сначала свежее
kznalp
kznalp
3 месяца назад
Серия IMHO

Да уж - Ганди умер , поговорить не с кем ...⁠⁠

В продолжении темы - DBA не любят математику

Сегодня первые практические результаты долгой работы . Просто стало интересно, а что есть по теме в гугле в Рунете?
И выяснилось , что если погуглить "корреляционный анализ производительности СУБД PostgreSQL" , то в выдаче, кроме моих статей ничего и нет .

Да уж - Ганди умер , поговорить не с кем ... Субд, Postgresql, Анализ данных, Корреляция, ИМХО, Длиннопост
Да уж - Ганди умер , поговорить не с кем ... Субд, Postgresql, Анализ данных, Корреляция, ИМХО, Длиннопост

Получается - тема никому, кроме меня не интересна 😯. А ведь, тема интересная .
Жаль, конечно , с одной стороны - и поговорить, обсудить не с кем🫤.
Но, с другой стороны - получается приоритет в исследовании , чтоли 🤔.

Ладно, как говорится - делай, что должен и будь, что будет.

Товарищ , нервы сожми в узду!
Взялся за дело - не охай.
Есть результат - посылай всех в п*зду!
Нет результата - пох*й!

Да уж - Ганди умер , поговорить не с кем ... Субд, Postgresql, Анализ данных, Корреляция, ИМХО, Длиннопост
Показать полностью 3
[моё] Субд Postgresql Анализ данных Корреляция ИМХО Длиннопост
4
kznalp
kznalp
3 месяца назад
Postgres DBA
Серия СУБД PostgreSQL

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL"⁠⁠

Взято с основного технического канала Postgres DBA

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Классический анализ - разбить проблему на составные части и внимательно изучить.

Продолжение работ по теме

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL".

Постановка задачи

Анализ событий ожиданий СУБД и определение SQL запросов оказывающих наибольшее влияние на производительность БД.

Основное отличие от предыдущей методики анализа производительности.

Корреляционный анализ проводится не по СУБД в целом , а по отдельным базам данных - Database-1 , Database-2.

Статистические показатели производительности Баз Данных.

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - операционная скорость.

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - операционная скорость.

Анализ операционной скорости

Деградация производительности Database-2 существенно сильнее .

Ожидания

WAITING RATIO

Относительная доля(%), времени ожиданий от времени работы базы данных.

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - относительная доля ожиданий.

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - относительная доля ожиданий.

Анализ относительной доли ожиданий

Доля ожиданий , при работе Database-2 выше на порядки.

WAIT_EVENT_TYPE (Типы ожиданий)

Database-1

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Наиболее значимый тип ожидания LWLock

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - количество ожиданий LWLock

Database-2

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Наиболее значимые типы ожиданий IO , Lock , LWLock.

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - количество ожиданий IO

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - количество ожиданий Lock

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Ось X - точка наблюдения . Ось Y - количество ожиданий LWLock

Анализ типов ожиданий (WAIT_EVENT_TYPE)

Относительная доля ожиданий для Database-1 существенно ниже , чем по Database-2.

Типы ожиданий IO , Lock - отсутствуют при работе Database-1.

Общий корреляционный анализ ожиданий

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Коэффициенты корреляции


  • SPEED CORR
    : коэффициент корреляции между количеством активных сессий к БД и операционной скоростью.

  • BUFFERPIN CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа Bufferpin.

  • EXTENSION CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа Extension.

  • IO CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа IO.

  • IPC CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа IPC.

  • LOCK CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа Lock.

  • LWLOCK CORR: коэффициент корреляции между операционной скоростью и количеством ожиданий типа LWLock.

Итоги

  1. Корреляция между активными сессиями и операционной скоростью для Database-1 очень слабая => Увеличение нагрузки на БД практически не ведет к снижению производительности БД.

  2. Корреляция между активными сессиями и операционной скоростью для Database-2 очень сильная =>Увеличение нагрузки на БД ведет к заметному снижению производительности БД.

  3. Для Database-1 отсутствует корреляция между операционной скоростью и ожиданиями => Снижение производительности БД не вызвано ожиданиями БД.

  4. Для Database-2 наиболее сильная отрицательная корреляция между операционной скоростью и ожиданиями типа Lock =>Тяжелые блокировки оказывают наибольшее влияние на снижение производительности СУБД.

Корреляционный анализ ожиданий для Database-2

Для проведения корреляционного анализа используется

Основная гипотеза корреляционного анализа ожиданий СУБД

Корреляция между типом ожидания (wait_event_type) и событием ожидания(wait_event)

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Наиболее коррелированные события ожидания(сильная корреляция):

  1. Lock/extend: Ожидание при расширении отношения.

  2. LWLock/BufferContent: Ожидание при обращении к странице данных в памяти.

Корреляция между событием ожидания(wait_event) и SQL запросами

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

SQL запросы , роли и корреляция с событиями ожиданияSQL запросы , роли и корреляция с событиями ожидания

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Список SQL запросов

Результат корреляционного анализа для Database-2

Результат корреляционного анализа для Database-2

Пользовательский запрос и события ожидания оказывающий наибольшее влияние на снижение производительности БД.

select custom_test( $1 )

События ожидания, оказывающие наибольшее влияние на снижение производительности БД

Корреляционный анализ ожиданий СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Статистика, Корреляция, Длиннопост

Коэффициенты корреляции между событиями ожидания в БД и SQL запросе.

  1. MultiXactOffsetSLRU: Ожидание при обращении к SLRU-кешу данных о смещениях мультитранзакций.

  2. MultiXactGen: Ожидание при чтении или изменении общего состояния мультитранзакций.

  3. extend: Ожидание при расширении отношения.

  4. BufferContent: Ожидание при обращении к странице данных в памяти.

  5. WALInsert: Ожидание при добавлении записей WAL в буфер в памяти.

  6. ProcArray: Ожидание при обращении к общим структурам данных в рамках процесса (например, при получении снимка или чтении идентификатора транзакции в сеансе).

  7. CheckpointerComm: Ожидание при управлении запросами fsync.

  8. BufferMapping: Ожидание при связывании блока данных с буфером в пуле буферов.

  9. DataFileExtend: Ожидание расширения файла данных отношения.

  10. LockManager: Ожидание при чтении или изменении информации о «тяжёлых» блокировках.

Итог и практическое применение результатов корреляционного анализа

Для оптимизации и повышению производительности запроса "select custom_test( $1 )" необходимо выявить причины и оптимизировать работу с мультитранзакциями.

Планы на будущее и развитие

Корреляционный анализ событий ожидания СУБД в зависимости от сценариев нагрузочного тестирования.

Показать полностью 15
[моё] Субд Postgresql Производительность Статистика Корреляция Длиннопост
0
kznalp
kznalp
3 месяца назад
Postgres DBA
Серия СУБД PostgreSQL

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL"⁠⁠

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

А теперь начинается самое интересно - анализ и поиск закономерностей

Выполненные сценарии нагрузочного тестирования

"OLTP"- нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

"SELECT ONLY" - нагрузочное тестирование СУБД PostgreSQL использованием оперативно-тактического комплекса "PG_HAZEL".

"INSERT ONLY" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

"HEAVYWEIGHT" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Результаты нагрузочного тестирования

График операционной скорости СУБД за период

Короткий период медианного сглаживания - синий график.

Долгий период медианного сглаживания - красный график.

Ось X - точка наблюдения. Ось Y - значение операционной скорости.

"OLTP"- нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"SELECT ONLY" - нагрузочное тестирование СУБД PostgreSQL использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"INSERT ONLY" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"HEAVYWEIGHT" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического9 комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

Ключевой момент

  1. Значения операционной скорости после определенного роста нагрузки для сценариев "INSERT ONLY" / "HEAVYWEIGHT".

Корреляция между операционной скоростью и количество сессий в состоянии 'active'

Ось X - точка наблюдения. Ось Y - коэффициент корреляции .

"OLTP"- нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"SELECT ONLY" - нагрузочное тестирование СУБД PostgreSQL использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"INSERT ONLY" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

"HEAVYWEIGHT" - нагрузочное тестирование СУБД PostgreSQL с использованием оперативно-тактического комплекса "PG_HAZEL".

Анализ результатов нагрузочного тестирования СУБД PostgreSQL с использованием разных сценариев оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Мониторинг, Анализ данных, Корреляция, Длиннопост

Ключевой момент

  1. График скользящей корреляции для сценариев "SELECT ONLY" / "INSERT ONLY" очень похожи.

  2. График скользящей корреляции для сценария "HEAVYWEIGHT" в противо фазе с графиками "SELECT ONLY" / "INSERT ONLY" после определенной нагрузки.

Показать полностью 9
[моё] Субд Postgresql Производительность Мониторинг Анализ данных Корреляция Длиннопост
1
kznalp
kznalp
3 месяца назад
Postgres DBA
Серия СУБД PostgreSQL

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL"⁠⁠

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Постановка задачи

Анализ и определение причины деградации производительности СУБД за заданный период .

Сценарий нагрузки "INSERT ONLY".

Общее описание схемы и метрик производительности

PG_HAZEL - оперативно-тактический комплекс мониторинга производительности СУБД PostgreSQL .

Анализ метрик производительности СУБД.

График операционной скорости СУБД за период

Короткий период медианного сглаживания - синий график.

Долгий период медианного сглаживания - красный график.

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Ось X - точка наблюдения. Ось Y - значение операционной скорости

Отличительная особенность сценария "INSERT ONLY" - резкий скачок операционной скорости. Скорее всего причина - изменение нагрузки на СХД виртуальной машины.

Сессии в состоянии 'active'

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Ось X - точка наблюдения. Ось Y - количество активных сессий на точку времени.

Корреляция между операционной скоростью и количество сессий в состоянии 'active'

График скользящей корреляции.

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Ось X - точка наблюдения. Ось Y - значение коэффициента корреляции.

Обращает на себя внимание факт непостоянного значения скользящей корреляции, близкой к косинусоиде.

График практически повторяет график скользящей корреляции для сценария "SELECT ONLY"

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Сценарий "SELECT ONLY". Ось X - точка наблюдения. Ось Y - значение коэффициента корреляции.

Коэффициент корреляции между операционной скоростью и количеством активных сессий за период наблюдений = 0,868388508671336 .

Сильная положительная корреляция между операционной скоростью и нагрузкой на СУБД .

Корреляционный анализ ожиданий СУБД

Гипотеза

Для определения SQL запроса оказывающего наибольшее влияние необходимо определить запрос с наибольшим значением коэффициента корреляции между ожиданиями СУБД и ожиданиями по SQL запросу.

Чуть подробнее

Результат корреляционного анализа

Сценарий "INSERT ONLY" - корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Субд, Postgresql, Производительность, Корреляция, Мониторинг, Анализ данных, Длиннопост

Нет деградации производительности СУБД за период проведения теста .

Итог

  1. Количество ожиданий СУБД - не является признаком деградации производительности СУБД

  2. Для сценарий "INSERT ONLY" текущая нагрузка далека от предельной.

Показать полностью 6
[моё] Субд Postgresql Производительность Корреляция Мониторинг Анализ данных Длиннопост
0
kznalp
kznalp
3 месяца назад
Postgres DBA
Серия СУБД PostgreSQL

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL"⁠⁠

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Постановка задачи

Анализ и определение причины деградации производительности СУБД за заданный период.

Общее описание схемы и метрик производительности

PG_HAZEL - оперативно-тактический комплекс мониторинга производительности СУБД PostgreSQL .

Анализ метрик производительности СУБД.

График операционной скорости СУБД за период

Короткий период медианного сглаживания - синий график.

Долгий период медианного сглаживания - красный график.

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - значение операционной скорости

Как видно из графика - имеется краткосрочная и долгосрочная тенденция снижения производительности СУБД.

Сессии в состоянии 'active'

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество активных сессий на точку времени.

Корреляция между операционной скоростью и количество сессий в состоянии 'active'

График скользящей корреляции.

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - значение коэфициента корреляции.

Коэффициент корреляции между операционной скоростью и количеством активных сессий за период наблюдений = -0,993357128393598 .

Ключевые точки наблюдения.

  • 1-19 : коэфaициент близок к 1

  • 23 - отрицательное значение коэффициента корреляции

  • 80 - значение коэффициента корреляции уменьшается(растет по модулю)

Общая интерпретация значений коэффициента корреляции :

  • Очень слабая корреляция: [0 до 0.2]

  • Слабая корреляция: (0.2 до 0.5].

  • ️Средняя корреляция: (0.5 до 0.7] .

  • ️Сильная корреляция: (0.7 до 0.9].

  • ️Очень сильная корреляция: (0.9 до 1].

Результат корреляционного анализа операционной скорости и активными сессиями :

  1. После точки наблюдения 23 - СУБД работает в нештатном режиме.

  2. Очень сильная корреляция между нагрузкой на СУБД и операционной скоростью СУБД.

Ожидания СУБД

Отношение времени ожидания к общему времени работы СУБД

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - % ожиданий

  1. Начиная с точки 60 - относительная доля ожиданий резко увеличивается. СУБД работает в нештатном режиме.

Корреляционный анализ ожиданий СУБД

Гипотеза

Для определения SQL запроса оказывающего наибольшее влияние необходимо определить запрос с наибольшим значением коэффициента корреляции между ожиданиями СУБД и ожиданиями по SQL запросу.

Результат корреляционного анализа

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Результат работы сервисного скрипта

Наибольшее влияние на снижение производительности СУБД оказывает SQL запрос: queryid = -3703375232510669542 .

Шаги корреляционного анализа

1. Корреляция между операционной скоростью и определенными типом ожиданиям

  1. Lock = -0,991080979500333

  2. LWLock = -0,952840750047627

  3. IPC = -0,00747093318897355

  4. BufferPin = 0

  5. Extension = 0

  6. IO = 0

Ожидания типа Lock имеет большую корреляцию по сравнению с ожиданиями типа LWLock.

Ожидания типа Lock

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий типа Lock

Ожидания типа LWLock

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий типа LWLock

2.Корреляция между типом ожидания Lock и событиями ожиданий

  1. transactionid = 0,999996784494388

  2. tuple = 0,989898319693633

  3. relation = 0,884541891919045

Ожидания transactionid

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий transactionid

Ожидания tuple

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий tuple

3. Корреляция между ожиданиями transactionid и SQL запросами

queryid = -3703375232510669542

Корреляционный анализ производительности СУБД с использованием оперативно-тактического комплекса "PG_HAZEL" Postgresql, Субд, Мониторинг, Производительность, Анализ данных, Корреляция, Длиннопост

Ось Y - количество ожиданий Lock/tuple для queryid =-3703375232510669542

Итоги

Гипотеза подтверждена экспериментально для данного сценария нагрузки.

Необходимо продолжение проведение экспериментов по корреляционному анализу :

  1. Дополнительные сценарии нагрузочного тестирования .

  2. Анализ метрик производительности при продуктивной нагрузке на СУБД.

Показать полностью 10
[моё] Postgresql Субд Мониторинг Производительность Анализ данных Корреляция Длиннопост
0
kznalp
kznalp
4 месяца назад
Лига Новых Технологий
Серия СУБД PostgreSQL

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL⁠⁠

математическая статистика в целом не подходит для общего анализа и сравнения производительности СУБД.

Эпиграф

Чем же может оказаться полезной математическая статистика или комментарий к комментарию.

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Тренды на график метрики производительности СУБД

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Активные соединения и утилизация CPU

Для сглаживания данных используется медианное сглаживание:

  • Долгая скользящая: 1 час(красная линия).

  • Короткая скользящая: 10 минут(синяя линия).

  • Активные соединения и утилизация CPU: стандартные метрики Zabbix.

Как видно из графика - имеет место деградация производительности СУБД:

  1. Количество активных сессий растет, но производительность падает

  2. Утилизация CPU растет , но производительность падает

Ситуация, принципиально отличается от описанной в казалось бы похожих кейсах:

  1. CPU Utilization = 100%. Это проблема СУБД?

  2. CPU Utilization = 100%. Это проблема СУБД?

Поэтому и решаться данный инцидент будет по другому.

Использование статистического анализа

1.Выделение трендов на графике производительности

Выполняется тривиально, дополнительных инструментов не требуется.

  • 13:00 - 13:28 : Горизонтальный тренд - высокая производительность

  • 13:28 - 13:47 : Деградация производительности

  • 13:57 - 14:05 : Горизонтальный тренд - низкая производительность. Нагрузка на СУБД уменьшилась.

13:00 - 13:28 : Горизонтальный тренд - высокая производительность

Статистические показатели производительности СУБД

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.1. Статистические показатели горизонтального тренда 13:00-13:28

Прямая корреляция между количество активных сессий и производительностью СУБД . Или другими словами - чем выше нагрузка на СУБД , тем выше производительность.

Статистические показатели ожиданий СУБД - корреляция ожиданий и производительности СУБД

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.2. Корреляционный анализ ожиданий и производительности 13:00-13:28

Количество пользовательских запросов по которым имеются события ожидания СУБД - минимально.

13:28 - 13:47 : Деградация производительности

Статистические показатели производительности СУБД

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.3. Статистические показатели нисходящего тренда 13:28 - 13:47

Сильная обратная корреляция - чем выше нагрузка на СУБД тем ниже производительность. Явный признак инцидента производительности СУБД

Статистические показатели ожиданий СУБД - корреляция ожиданий и производительности СУБД

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.4. Корреляционный анализ ожиданий и производительности СУБД нисходящего тренда 13:28 - 13:47

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

2.Определение наиболее значимой причины деградации производительности СУБД

Из Рис.4 видно, что наибольшая обратная корреляция между событиями ожидания и снижением производительности СУБД имеется для события LWLock / BufferMapping

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.5. Ожидание LWLock / BufferMapping

Как видно - количество ожиданий менее чем за 20 минут - весьма существенно.

Итак, первый результат

Первой( но конечно не единственной) причиной деградации производительности СУБД в период 13:28 - 13:47 является - большое количество ожиданий LWLock / BufferMapping при выполнении пользовательских запросов.

Чуть подробнее об ожидании BufferMapping

Ожидание при связывании блока данных с буфером в пуле буферов.

Postgres Pro Enterprise : Документация: 16: 27.2. Система накопительной статистики : Компания Postgres Professional

LWLock - buffer_mapping

This event occurs when a session is waiting to associate a data block with a buffer in the shared buffer pool.

Context

The shared buffer pool is an PostgreSQL memory area that holds all pages that are or were being used by processes. When a process needs a page, it reads the page into the shared buffer pool. The shared_buffers parameter sets the shared buffer size and reserves a memory area to store the table and index pages. If you change this parameter, make sure to restart the database. For more information, see Shared Buffer Area.

The buffer_mapping wait event occurs in the following scenarios:

  • A process searches the buffer table for a page and acquires a shared buffer mapping lock.

  • A process loads a page into the buffer pool and acquires an exclusive buffer mapping lock.

  • A process removes a page from the pool and acquires an exclusive buffer mapping lock.

LWLock - buffer_mapping | Redrock Postgres Documentation (rockdata.net)

3. Определение запросов с максимальным количество ожиданий

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.6. Запросы с ожиданием LWLock / BufferMapping c количество более 100.

Далее, дело техники, используя утилиту pgpro_pwr по queryid, находим проблемный запрос за период 13:30 - 13:50(снимки pgpro_pwr формируются каждые 10 минут).

Запрос передается разработчикам , для анализа .

Дальнейшие события ожидания анализируются схожим образом. Если отсортировать таблицу Рис.4. по количеству пользовательских запросов(более 100) , то можно и нужно сформировать список проблемных запросов для передачи группе разработки на оптимизацию и доработку.

Корреляционный анализ для определения причин деградации производительности СУБД PostgreSQL Математика, Тестирование, Postgresql, Субд, Мониторинг, Статистика, Корреляция, Длиннопост, Ответ

Рис.7. Список ожиданий отсортированный по количеству пользовательских запросов.

Итог

Статистический анализ производительности СУБД позволяет подтвердить наличие деградации производительности не дожидаясь деградации на уровне приложения.

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

P.S.

В настоящее время ведутся работы по разработке и тестированию новой версии инструментария по мониторингу и анализу производительности СУБД PostgreSQL - "Орешник".

Методология статистического анализа производительности СУБД PostgreSQL будет довольно существенно дополнена и доработана.

Показать полностью 9
[моё] Математика Тестирование Postgresql Субд Мониторинг Статистика Корреляция Длиннопост Ответ
13
32
HoneyBelllochka
HoneyBelllochka
10 месяцев назад
Популярная наука

Занимательные корреляции⁠⁠

https://tylervigen.com/spurious-correlations
(требуется знание английского языка)

Наглядный пример того, как можно что угодно "притянуть за уши".

Очень понравилось, как ИИ подводит теоретическую базу под графики.

Количество фильмов с Дрю Бэрримор коррелирует с количеством голосов, отданных за кандидата в сенаторы от Либертарианской партии в Алабаме.

Занимательные корреляции Исследования, Научпоп, Корреляция, График, Совпадение, Искусственный интеллект, Псевдонаука

Чем больше люди смотрели фильмов с Дрю Бэрримор, тем сильнее они осознавали важность личной свободы и невмешательства в их жизнь. Все эти романтические комедии и трогательные драмы, вероятно, разожгли желание индивидуальной свободы, что привело к всплеску поддержки кандидатов-либертарианцев в Алабаме. Как будто её экранное обаяние и харизма насылали чары политического пробуждения по всему штату.

Использование ГМО в соевых бобах в штате Айова коррелирует с выработкой геотермальной энергии в России.

Занимательные корреляции Исследования, Научпоп, Корреляция, График, Совпадение, Искусственный интеллект, Псевдонаука

По мере того, как ГМО-соя в Айове процветала, она неосознанно образовала обширную подземную сеть, случайно соединившись с обширными корневыми системами российских одуванчиков. Эта беспрецедентная трансконтинентальная коммуникация растений создала синергию, которая увеличила производство геотермальной энергии в России. По сути, это был пример технологии производства одуванчиков на основе сои, доказывающий раз и навсегда, что когда жизнь дает вам ГМО-соевые бобы, вы также получаете совершенно новый способ получения энергии, предоставленный вам совместными усилиями международной флоры.

Показать полностью 2
Исследования Научпоп Корреляция График Совпадение Искусственный интеллект Псевдонаука
2
2
stsaplin
stsaplin
1 год назад
Лига Инвесторов

Наблюдаем за индексами⁠⁠

Наблюдаем за индексами Трейдинг, Биржа, Фондовый рынок, Сбербанк, Лукойл, Корреляция, Индекс, Облигации

Индекс гособлигаций RGBI

Вчерашний день уже внушает некоторый оптимизм. Основной положительный момент в том, что оба мамонта (Сбер и Лукойл) показали внушительный рост по 1.5%-2%. Объемов, правда, по-прежнему нет. Но я на другое предлагаю обратить внимание: посмотрите, что вчера показал индекс гособлигаций RGBI - рост более процента и бычье поглощение сразу двух предшествующих дней снижения. Я не говорю, что дно достигнуто. Предлагаю лишь обратить внимание на сонаправленность движения двух индексов. Вполне может быть, что мы входим в период их сильной корреляции.

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

Показать полностью
[моё] Трейдинг Биржа Фондовый рынок Сбербанк Лукойл Корреляция Индекс Облигации
0
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии