I ran some CPU intensive pgbench tests on HOT. Results are not
surprising, HOT makes practically no difference on the total transaction
rate, but reduces the need to vacuum:

                unpatched       HOT     
tps             3680            3790
WAL written(MB) 5386            4804
checkpoints     10              9
autovacuums     116             43
autoanalyzes    139             60

I believe the small gain in tps is due to the reduction in WAL volume.
WAL is checksummed, and calculating the CRC uses some CPU. The tps
difference is almost within the margin of error, though.

HOT greatly reduces the number of vacuums needed. That's good, that's
where the gains in throughput in longer I/O bound runs comes from.

The tests were run with fsync=off, with following commands:

pgbench -i -s 10 postgres
pgbench -c 5 -t 1000000 postgres -l

The version used was CVS HEAD, with Simple-HOT-v2.patch applied in the
HOT run. The cluster was initdb'd and created from scratch before each
test run. Attached is the full postgresql.conf and test script used.

  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

Attachment: pbench-runner.tar.gz
Description: GNU Zip compressed data

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to