PostgreSQL : dans mon pgbench, bench, bench…

PostgreSQL : dans mon pgbench, bench, bench...

Pgbench est un outil fort utile pour tout DBA qui tâte un jour à PostgreSQL. Il s’agit d’un logiciel de benchmarking vous donnant le temps mis par l’exécution de transactions sur le moteur de données Open Source. La commande appartient au paquet postgresql96, qui est installé lorsque vous installez les binaires du paquet postgresql96-server :

# S'il est installé sur votre système
rpm -ql postgresql96|grep pgbench
# Interroge les dépôts et nécessite le paquet yum-utils
repoquery -l postgresql96|grep pgbench

Pgbench est fourni en standard dans l’installeur PostgreSQL sur Windows.

Création de la base pgbench

Avant de pouvoir faire vos tests, pgbench a besoin que vous créiez une base de données. Dans l’exemple ci-dessous, je l’ai appelé pgbench !

sudo -u postgres /usr/pgsql-9.6/bin/psql -c "CREATE DATABASE pgbench"
sudo -u postgres /usr/pgsql-9.6/bin/pgbench -i pgbench

Trois types de benchmarks

J’ai pris le parti de fixer le nombre de connexions à 10 (-c 10), le nombre de jobs à 2 (-j 2) et le nombre de transactions à 100 (-t 100), en effectuant un vacuum avant l’exécution des instructions (-v).

Il existe trois types de test :

Les données du benchmark sont exprimés en tps, i.e. en transactions par secondes.

sudo -u postgres /usr/pgsql-9.6/bin/pgbench -b tpcb-like -c 10 -j 2 -t 100 -v pgbench
sudo -u postgres /usr/pgsql-9.6/bin/pgbench -b simple-update -c 10 -j 2 -t 100 -v pgbench
sudo -u postgres /usr/pgsql-9.6/bin/pgbench -b select-only -c 10 -j 2 -t 100 -v pgbench

Les indicateurs obtenus

Les temps et le nombre de transactions figurant dans le tableau ci-dessous sont ceux obtenus à la 2e exécution de la commande.

  tpcb-like simple-update select-only
latency average 132.143 ms 11.274 ms  0.477 ms
including
connections establishing
75.675594 tps  887.032822 tps 20942.408377 tps
excluding
connections establishing
75.685132 tps 888.507107 tps 22192.927558 tps

PostgreSQL  / Formateur PostgreSQL pgbench PostgreSQL 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)