Сравнение производительности PostgreSQL : разные сценарии нагрузки.
Задача эксперимента
Количественный анализ производительности СУБД - для разных сценариев нагрузки:
- Сценарий 1: Стандартный сценарий pgbench
- Сценарий 2: Стандартный сценарий pgbench + дополнительные операции update.
Конфигурация ВМ
ВМ-1
Версия СУБД: Postgres Pro (enterprise certified) 15.8.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Soft 11.4.0-1), 64-bi
CPU: 8
RAM: 15
ОС: RED OS 7.3
ВМ-2
Версия СУБД: Postgres Pro (enterprise certified) 14.11.3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
CPU: 24
RAM: 189
ОС: Astra Linux (Smolensk) 1.6
Тестовый сценарий и нагрузка на СУБД
Инструмент создания нагрузки: pgbench
Изменение нагрузки: экспоненциально начиная со значения --connect=6
Часть 1 - Сравнение показателей производительности СУБД для ресурсоемкого сценария
Операционная скорость
Выводы
- С ростом нагрузки операционная скорость ВМ-1 снижается после 12 соединений.
- С ростом нагрузки до 64 соединений операционная скорость ВМ-2 - растет.
- После 11 соединений и до 477 соединений операционная скорость ВМ-1 выше . При дальнейшем повышении нагрузки операционная скорость ВМ-1 и ВМ-2 существенно не отличаются.
Время выполнения тестового запроса
ВМ-1 быстрее, при нагрузке до 10 соединений
ВМ-2 быстрее, при нагрузке свыше 10 соединений
Выводы
- Время выполнения тестового запроса для ВМ-1 существенно растет с ростом нагрузки и превышает время выполнения тестового запроса для ВМ-2 при нагрузке свыше 10 соединения.
Итог по сравнению показателей производительности СУБД при выполнении ресурсоемкого запроса
Результаты принципиально не отличаются и не зависят от ресурсоемкости сценария. Изменяется только граничное значение нагрузки.
В данном сценарии:
1. Если оценивать СУБД по времени выполнения тестового запроса , то до нагрузки 10 соединения - тестовый запрос на ВМ-1 выполняется быстрее.
2. Если оценивать СУБД по операционной скорости, то до нагрузки 12 соединений - операционная скорость ВМ-1 существенно выше. С ростом нагрузки операционная скорость ВМ-1 и ВМ-2 уменьшается примерно одинаково.
Часть 2 - Сравнение результатов показателей производительности при сравнении СУБД между сценариями
ВМ-1 Операционная скорость
Выводы
- После 276 соединений операционная скорость для разных сценариев практически не отличается
ВМ-2 Операционная скорость
Выводы
- До 53 соединений операционная скорость для разных сценариев практически не отличается
- В целом операционная скорость по 1-му сценарию выше
ВМ-1 Время выполнения тестового запроса
Выводы
- До 477 соединений время выполнения тестового запроса существенно не отличается
- После 477 соединений время выполнения ресурсоемкого запроса кардинально растет
ВМ-2 Время выполнения тестового запроса
Выводы
- Время выполнения тестового запроса растет линейно .
- Время выполнения при ресурсоемком сценарии - растет быстрее.
Итог
Если сравнивать показатели производительности СУБД для разных сценариев , в целом никаких неожиданностей - более мощная ВМ справляется с нагрузкой существенно эффективнее