Не важно кто каким ушел со старта. Важно кто каким пришел на финиш.
Задача
Получить качественную и количественную оценку скорости разных СУБД .
Конфигурации тестовых СУБД .
СУБД-1
Postgres Pro (enterprise certified) 15.12.1
CPU = 8
RAM = 15
RED OS 7.3
СУБД-2
Postgres Pro (enterprise certified) 14.15.1
CPU 24
RAM 189
Astra Linux 1.7
Тестовый сценарий "Mix"
Параллельный запуск нагрузки генерируемой pgbench по сценариям :
- "Select only" : вес сценария 0.5
- "Select+Update" : вес сценария 0.3
- "Insert only" : вес сценария 0.15
- "CPU Load" : вес сценария 0.05
На каждой итерации нагрузка по конкретному сценарию = общая нагрузка * вес сценария.
Общая нагрузка от 6 до 111 . Рост нагрузки - экспоненциально.
Операционная скорость.
СУБД-1
Ось X - общая нагрузка . Ось Y - операционная скорость по СУБД-1
СУБД-2
Ось X - общая нагрузка . Ось Y - операционная скорость по СУБД-2
Сравнительные данные
Ось X - общая нагрузка . Ось Y - операционная скорость по СУБД-1 и СУБД-2
Ось X - общая нагрузка . Ось Y - относительная разница в скорости между СУБД-2 и СУБД-1.
Результат
- Увеличение скорости СУБД-2 до 6 раз.
- Снижение скорости СУБД-1 начинается практически сразу с ростом общей нагрузки.
- Снижение скорости СУБД-2 носил плавный характер, после общей нагрузки= 53.
Ожидания СУБД
СУБД-1
80% Ожиданий по СУБД-1 имеют тип LWLock
События ожидания по СУБД-1
80% событий ожидания по СУБД-1
СУБД-2
80% Ожиданий по СУБД-2 имеют тип LWLock
События ожидания по СУБД-2
80% событий ожидания по СУБД-2
Итог
- Для данного сценария смешанной нагрузки, производительность СУБД-2 в 6 раз превосходит производительность СУБД-1.
- СУБД-1 не рассчитана на высокую нагрузку.
- Характерные ожидания по СУБД-1 и СУБД-2 существенно отличаются.