Re: full_page_writes on SSD?

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: full_page_writes on SSD?
Date: 2015-11-25 11:38:08
Message-ID: 56559DA0.4050805@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11/24/2015 08:14 PM, Andres Freund wrote:
> On 2015-11-24 13:09:58 -0600, Kevin Grittner wrote:
>> On Tue, Nov 24, 2015 at 12:48 PM, Marcin Mańk <marcin(dot)mank(at)gmail(dot)com> wrote:
>>
>>> if SSDs have 4kB/8kB sectors, and we'd make the Postgres page
>>> size equal to the SSD page size, do we still need
>>> full_page_writes?
>>
>> If an OS write of the PostgreSQL page size has no chance of being
>> partially persisted (a/k/a torn), I don't think full page writes
>> are needed. That seems likely to be true if pg page size matches
>> SSD sector size.
>
> At the very least it also needs to match the page size used by the
> OS (4KB on x86).

Right. I find this possibility (when the OS and SSD page sizes match)
interesting, exactly because it might make the storage resilient to torn
pages.

>
> But be generally wary of turning of fpw's if you use replication.
> Not having them often turns a asynchronously batched write workload
> into one containing a lot of synchronous, single threaded, reads.
> Even with SSDs that can very quickly lead to not being able to keep
> up with replay anymore.
>

I don't immediately see why that would happen? Can you elaborate?

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tomas Vondra 2015-11-25 11:47:51 Re: full_page_writes on SSD?
Previous Message NTPT 2015-11-25 10:22:29 Query failed: ERROR: character with byte sequence 0xc2 0x96 in encoding "UTF8" has no equivalent in encoding "WIN1250"