help understanding pgbench results - Mailing list pgsql-general

From Luca Ferrari
Subject help understanding pgbench results
Date
Msg-id CAKoxK+4JmreJORDdeGs1iNv4xdFYH187PUPY2g2YmuJKd3PYCw@mail.gmail.com
Whole thread Raw
Responses Re: help understanding pgbench results  (Luca Ferrari <fluca1978@gmail.com>)
Re: help understanding pgbench results  (Fabio Pardi <f.pardi@portavita.eu>)
List 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



pgsql-general by date:

Previous
From: Tim Clarke
Date:
Subject: Re: How to run a task continuously in the background
Next
From: "Chatterjee, Shibayan"
Date:
Subject: Issue: Creating Symlink for data directory of postgresql in CentOS7