Корреляционный анализ ожиданий для сценариев нагрузочного тестирования СУБД PostgreSQL
Постановка задачи
Установить характерные признаки ожиданий и результаты корреляционного анализа в зависимости от сценариев нагрузочного тестирования .
Database-1
База данных для сбора статистической информации производительности .
Database-2
Тестовая база данных для проведения нагрузочного тестирования .
Нагрузка создается пользовательским сценарием pgbench.
Рост количества подключений pgbench - экспоненциально от 6 до 111.
Сценарии нагрузочного тестирования и результаты экспериментов
Сценарий 1 - "Select Only"
Сценарий 2 - "Insert Only"
Сценарий 3 - "OLTP"
Характерные признаки сценариев нагрузочного тестирования
Сценарий 1 - "Select Only"
Сценарий характеризуется
1. Cильной корреляцией с событиями ожидания:
LWLock/LockManager: Ожидание при чтении или изменении информации о «тяжёлых» блокировках.
LWLock/ProcArray: Ожидание при обращении к общим структурам данных в рамках процесса (например, при получении снимка или чтении идентификатора транзакции в сеансе).
2. Очень низким относительной долей ожиданий: менее 1%
Сценарий 2 - "Insert Only"
Сценарий характеризуется
1. Очень сильной корреляцией с событиями ожидания:
MultiXactOffsetSLRU: Ожидание при обращении к SLRU-кешу данных о смещениях мультитранзакций.
2. Не высокой относительной долей ожиданий: 17-35%
Сценарий 3 - "OLTP"
Сценарий характеризуется
1. Очень сильной корреляцией с событиями ожидания:
Lock / transactionid: Ожидание завершения транзакции.
Lock / tuple: Ожидание при запросе блокировки для кортежа.
2. Высокой относительной долей ожиданий: 62-95%.
Postgres DBA
93 поста17 подписчиков
Правила сообщества
Пока действуют стандартные правила Пикабу.