help understanding pgbench results

From: Luca Ferrari <fluca1978(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: help understanding pgbench results
Date: 2019-07-12 10:04:01
Message-ID: CAKoxK+4JmreJORDdeGs1iNv4xdFYH187PUPY2g2YmuJKd3PYCw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,
I'm trying to understand some simple benchmarks but I need an hint.

=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 11.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5
20150623 (Red Hat 4.8.5-28), 64-bit

shared_buffers = 1 GB
checkpoint_timeout = 5 min

I've created a pgbench database as follows (around 4.5 GB):
% pgbench -i -s 300 -F 100 --foreign-keys --unlogged-tables -h
127.0.0.1 -U luca pgbench

and I've tested three times (each time after a restart) with the following:
% pgbench -T 600 -j 4 -c 4 -h 127.0.0.1 -U luca -P 60 pgbench

Since tables are unlogged, I was expecting no much difference in
setting checkpoint_completion_target, but I got (average results):
- checkpoint_completion_target = 0.1 ==> 755 tps
- checkpoint_completation_target = 0.5 ==> 767 tps
- checkpoint_completion_target = 0.9 ==> 681 tps

so while there is not a big different in the first two cases, it seems
throttling I/O reduces the tps, and I don't get why. Please note that
there is some small activity while benchmarking, and that's why I ran
at least three tests for each setting.
Am I looking at wrong (or meaningless) numbers?

Thanks for any hint.
Luca

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chatterjee, Shibayan 2019-07-12 10:11:49 Issue: Creating Symlink for data directory of postgresql in CentOS7
Previous Message Tim Clarke 2019-07-12 08:52:16 Re: How to run a task continuously in the background