Re: Sv: Re: Sv: Re: Sv: Re: Sv: Re: data-checksums - Mailing list pgsql-general

From Peter J. Holzer
Subject Re: Sv: Re: Sv: Re: Sv: Re: Sv: Re: data-checksums
Date
Msg-id 20180114102758.bi777x4rbuv3pnzz@hjp.at
Whole thread Raw
In response to Re: Sv: Re: Sv: Re: Sv: Re: Sv: Re: data-checksums  (Andres Freund <andres@anarazel.de>)
List pgsql-general
On 2018-01-10 11:39:21 -0800, Andres Freund wrote:
> On 2018-01-09 20:51:17 -0500, Stephen Frost wrote:
> > * Andreas Joseph Krogh (andreas@visena.com) wrote:
> > > Aha, so enabling CRC causes hint-bits to be written causing extra WAL-logging,
> > > which woudn't be the case without CRC enabled?
> > > Thanks for pointing that out.
> >
> > Yes, having checksums enabled forces logging of hint bits.  You can
> > enable wal_log_hints independently too, without having checksums, to see
> > what kind of an impact it'll have on your environment.
> >
> > A useful documentation update might be:
> >
> > ---
> > With checksums enabled, wal_log_hints <link to the GUC's documentation>
> > will be enabled and each page read or write will involve calculating the
> > checksum for the page.
> > ---
> >
> > I'd probably just replace the "Enabling checksums may incur a noticeable
> > performance penalty" with the above, as it should be clear that doing
> > more work implies an impact on performance and that avoids the whole
> > question of trying to characterize in a general way something that can't
> > be generalized (as it's workload dependent).
>
> -1. I think this is underplaying the cost.

I disagree. At least two people in this thread interpreted "noticable"
as "measurable but negligible" (which I personally find a bit
surprising). Computing the CRC basically means reading the whole page
from RAM which should be fast compared to a transfer to or from disk. So
it is easy to disregard this sentence as "was probably written when a
Pentium II was new and never updated". Stephen's version draws attention
to the fact that enabling CRCs may cause extra disk writes, which rings
a much louder alarm bell for me. (When are those hint-bits set? Does this
happen often when otherwise no write would have been necessary? I have
no idea so I guess I'd better measure it!)

        hp

--
   _  | Peter J. Holzer    | we build much bigger, better disasters now
|_|_) |                    | because we have much more sophisticated
| |   | hjp@hjp.at         | management tools.
__/   | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>

Attachment

pgsql-general by date:

Previous
From: Ken Tanzer
Date:
Subject: Re: Using random() in update produces same random value for all
Next
From: "Peter J. Holzer"
Date:
Subject: Re: String comparison problem in select - too many results