Group commit

From PostgreSQL wiki

(Difference between revisions)
Jump to: navigation, search
(Benchmark)
(Description of feature)
Line 5: Line 5:
 
=== Description of feature ===
 
=== Description of feature ===
  
Broadly speaking, a group commit feature enables PostgreSQL to commit a group of transactions in batch, amortizing the cost of flushing WAL. The proposed implementation this page describes is heavily based on the existing synchronous replication implementation.
+
Broadly speaking, a group commit feature enables PostgreSQL to commit a group of transactions in batch, amortizing the cost of flushing WAL. The proposed implementation this page describes is heavily based on the existing synchronous replication implementation. It supercedes the commit_siblings "group commit" implementation of prior versions. This earlier implementation was never really considered to be effective, and its use was weighed down by caveats, so in practice it was only used very infrequently. It is anticipated that the proposed implementation will be turned on by default, and may not be possible to turn off.
  
 
=== Benchmark ===
 
=== Benchmark ===

Revision as of 13:58, 17 January 2012

Group commit

'Group commit is a feature planned for PostgreSQL 9.2 . The feature is being developed by Simon Riggs and Peter Geoghegan. The latest -hackers thread on the feature is: http://archives.postgresql.org/pgsql-hackers/2012-01/msg00804.php .

Description of feature

Broadly speaking, a group commit feature enables PostgreSQL to commit a group of transactions in batch, amortizing the cost of flushing WAL. The proposed implementation this page describes is heavily based on the existing synchronous replication implementation. It supercedes the commit_siblings "group commit" implementation of prior versions. This earlier implementation was never really considered to be effective, and its use was weighed down by caveats, so in practice it was only used very infrequently. It is anticipated that the proposed implementation will be turned on by default, and may not be possible to turn off.

Benchmark

Benchmarking of this feature has been performed by Greg Smith's pgbench tool (https://github.com/gregs1104/pgbench-tools) . Here are results for the initial benchmark:

http://wiki.postgresql.org/images/5/50/Group-commit-pgbench-tools.pdf

These results were obtained on an ext4 (Linux kernel 3.1) filesystem with LVM. The harddisk used was a WDC WD3200BEKT-08PVMT1 7200 RPM sata disk, with write caching enabled.

Personal tools