Тестирование производительности сервера#

Производительность системы зависит от используемого оборудования.

Тестирование проводится с помощью утилиты pgbench, которая входит в комплект поставки СУБД Postgres

Настройка теста pgBench#

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

Переключитесь на пользователя «postgres»

su postgres

Подключитесь локально утилитой psql к СУБД Postgres

psql

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

CREATE DATABASE "pgbenchDb" WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' CONNECTION LIMIT = -1;

Завершите сессию psql

\q

Инициализируйте бд для проведения теста

pgbench -i -s 50 pgbenchDb

Выполните тестирование быстродействия

pgbench -c 100 -j 100 -t 10000 pgbenchDb

Через несколько минут утилита выдаст результат.

Пример результата теста

pgbench (16.1 (Debian 16.1-1.pgdg110+1))
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 50
query mode: simple
number of clients: 100
number of threads: 100
maximum number of tries: 1
number of transactions per client: 10000
number of transactions actually processed: 1000000/1000000
number of failed transactions: 0 (0.000%)
latency average = 1.935 ms
initial connection time = 56.060 ms
tps = 51677.092175 (without initial connection time)