Move unused buffers to freelist

From: Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
To: "'PostgreSQL-development'" <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Move unused buffers to freelist
Date: 2013-05-14 13:42:27
Message-ID: 002f01ce50a8$e057c7a0$a10756e0$@kapila@huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

As discussed and concluded in mail thread
(http://www.postgresql.org/message-id/006f01ce34f0$d6fa8220$84ef8660$@kapila
@huawei.com), for moving unused buffer's to freelist end,

I having implemented the idea and taken some performance data.

In the attached patch, bgwriter/checkpointer moves unused (usage_count =0 &&
refcount = 0) buffer's to end of freelist. I have implemented a new API
StrategyMoveBufferToFreeListEnd() to

move buffer's to end of freelist.

Performance Data :

Configuration Details

O/S - Suse-11

RAM - 24GB

Number of Cores - 8

Server Conf - checkpoint_segments = 256; checkpoint_timeout = 25 min,
synchronous_commit = 0FF, shared_buffers = 5GB

Pgbench - Select-only

Scalefactor - 1200

Time - Each run is of 20 mins

Below data is for average 3 runs of 20 minutes

8C-8T 16C-16T 32C-32T
64C-64T

HEAD 11997 8455 4989
2757

After Patch 19807 13296 8388
2821

Detailed each run data is attached with mail.

This is just the initial data, I will collect more data based on different
configuration of shared buffers and other configurations.

Feedback/Suggesions?

With Regards,

Amit Kapila.

Attachment Content-Type Size
move_unused_buffers_to_freelist.htm text/html 23.3 KB
move_unsed_buffers_to_freelist.patch application/octet-stream 4.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Benedikt Grundmann 2013-05-14 13:48:55 Re: streaming replication, "frozen snapshot backup on it" and missing relfile (postgres 9.2.3 on xfs + LVM)
Previous Message Heikki Linnakangas 2013-05-14 13:27:24 Re: streaming replication, "frozen snapshot backup on it" and missing relfile (postgres 9.2.3 on xfs + LVM)