Pgbench

postgres=# create database pgbench ;
#1
postgres@srv1:~$ pgbench -i -s 40 pgbench
#2
postgres@srv1:~$ pgbench -c 10 -j 4 -t 1000 pgbench
pgbench (14.5 (Debian 14.5-1.pgdg100+1))
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 4
query mode: simple
number of clients: 10
number of threads: 4
number of transactions per client: 1000
number of transactions actually processed: 10000/10000
latency average = 17.450 ms
initial connection time = 36.156 ms
tps = 573.077101 (without initial connection time)

Pgbench, postgresql’in gömülü gelen (built-in) benchmark test aracıdır. Aynı SQL’leri
eşzamanlı olarak farklı sessionlarla defalarca çalıştırabilir ve istatistikleri raporlayabilir.
Default olarak select, update ve insert işlemlerini içeren TPC-B temelli testlerini
yapar. Ama dışardan sağlanacak SQL’leri de çalıştırıp benchmark testleri yapabilir.

-i (initialize) : Başlatma opsiyonudur. Aşağıda satır sayıları ile verilen 4
adet tabloyu oluşturur. Daha önce oluşturuldu ise siler (drop) ve yeniden oluşturur. Bu
tabloların toplam boyutu 16 MB’ dir.
pgbench_branches 1
pgbench_tellers 10
pgbench_accounts 100.000
pgbench_history 0

-s (scaling faktör) : Ölçekleme opsiyonudur. Yukarıdaki 1. örnekte -s 40
girilmiş yani 40 katını oluşturur. pgbench_accounts tablosuna 4.000.000 kayıt girilir
ve boyut da 640 MB olur.

-c (clients) : Connection yani sesssion sayısıdır. 2. örnekte -c 10 girilmiş yani
10 adet sesssion açılacak.

-j (threads) : Çalışacak worker sayısını belirler. 2. örnekte -j 4 girilmiş yani bu
test boyunca 4 worker prosesi ile çalışacak.

-t (transactions) : Her oturumun (session) çalıştıracağı transaction sayısını
belirler. Yukarıdaki örnekte “-t 1000” , “-c 10” verilmiş yani toplam 10.000 transaction
işlemi yapılacak.

Detaylı bilgi için postgresql.org/docs/current/pgbench.html sitesi ziyaret edilebilir.

Kategori seçin...