Если нужно быстро оценить, как PostgreSQL чувствует себя на разных типах дисков, файловых системах или конфигурациях виртуалок, необязательно глубоко погружаться в тюнинг СУБД. Достаточно воспользоваться встроенной утилитой
pgbench, она идет в комплекте с PostgreSQL и позволяет получить базовые, но показательные метрики.▪️ Установка и подготовка среды. Устанавливаем PostgreSQL:
apt install postgresql
Проверяем работу службы:
systemctl status postgresql
Создаем тестовую базу:
su - postgres
psql
create database test_db;
\q
Инициализируем тестовые данные, увеличив объём в 10 раз:
pgbench -i test_db -s 10
▪️ Запуск теста нагрузки. Прогоняем тест: 5 клиентов, 2 потока, 60 секунд, вывод статистики каждые 5 секунд:
pgbench test_db -c 5 -j 2 -P 5 -T 60
Пример результата:
number of transactions actually processed: 219950
latency average = 1.362 ms
tps = 3665.930847
СУБД обработала 219 950 транзакций со скоростью ~3666 TPS, это и есть показатель, который удобно использовать для сравнения.
▪️ Что именно тестирует pgbench?
По умолчанию запускается смесь операций, напоминающая TPC-B: внутри одной транзакции идут SELECT, UPDATE и INSERT. Можно использовать свои сценарии, создавая кастомные SQL-скрипты. В документации PostgreSQL (в том числе русской) всё подробно описано.
#postgresql
🧑💻 NetworkAdmin