| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
| Cc: | David Pacheco <dap(at)joyent(dot)com>, pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Autovacuum degrades all other operations by keeping all buffers dirty? |
| Date: | 2018-08-31 22:50:47 |
| Message-ID: | 20180831225047.tamaup2p54ytzikj@alap3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On 2018-08-31 19:31:47 -0300, Alvaro Herrera wrote:
> On 2018-Aug-31, David Pacheco wrote:
>
> > From reading the 9.6.3 source, it looks like the autovacuum process
> > itself is single-threaded, and it reads pages essentially linearly
> > from the relation (possibly skipping some). When the autovacuum
> > process needs to modify a page, it doesn't write it directly, but
> > rather marks the buffer dirty. The page will be written later,
>
> Unless there's some bug, there is a BufferAccessStrategy that only lets
> a few dozen buffers go unwritten before the autovac worker process
> itself is forced to write some.
I've not re-checked, but I'm not sure that's true if the buffer is
already in s_b, which it'll be for many workloads.
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Adrian Klaver | 2018-09-01 00:18:53 | Re: locate DB corruption |
| Previous Message | Alvaro Herrera | 2018-08-31 22:31:47 | Re: Autovacuum degrades all other operations by keeping all buffers dirty? |