From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Simon Riggs" <simon(at)2ndquadrant(dot)com> |
Cc: | "ITAGAKI Takahiro" <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Dirty pages in freelist cause WAL stuck |
Date: | 2006-12-18 16:13:06 |
Message-ID: | 9336.1166458386@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Simon Riggs" <simon(at)2ndquadrant(dot)com> writes:
> I think what you are saying is: VACUUM places blocks so that they are
> immediately reused. This stops shared_buffers from being polluted by
> vacuumed-blocks, but it also means that almost every write becomes a
> backend dirty write when VACUUM is working, bgwriter or not. That also
> means that we flush WAL more often than we otherwise would.
Do we care? As long as the writes are done by the vacuum process, ISTM
this is taking load off the foreground query processes, by saving them
from having to do writes.
In any case, I'm unclear on why we should add a boatload of complexity
to improve performance of something that's done as rarely as VACUUM
FREEZE is. Quite aside from maintainability concerns, even a few extra
cycles added to the more common code paths would make it a net
performance loss overall.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Matt Miller | 2006-12-18 16:15:43 | Re: pgcluster-1.7.0rc1-patch |
Previous Message | Tom Lane | 2006-12-18 15:59:08 | Re: Question about debugging bootstrapping and catalog entries |