From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Manfred Koizar <mkoi-pg(at)aon(dot)at> |
Cc: | Vivek Khera <khera(at)kcilink(dot)com>, pgsql-general(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Decent VACUUM (was: Buglist) |
Date: | 2003-08-21 21:16:50 |
Message-ID: | 26905.1061500610@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
Manfred Koizar <mkoi-pg(at)aon(dot)at> writes:
> better. AFAICS Vivek's problem is that it is hard enough to hold a
> good part of the working set in the cache, and still his disks are
> saturated. Now a VACUUM not only adds one more process to disk I/O
> contention, but also makes sure that the working set pages are *not*
> in memory which leads to higher I/O rates after the VACUUM.
We have had some people looking at improved buffer management
algorithms; LRU-2 or something smarter would help. I dunno whether
we can dissuade the kernel from flushing its cache though.
> If we teach VACUUM to not read pages that don't contain any dead
> tuples, this could be a significant improvement. I'm envisioning a
> data structure (reclaimable space map, RSM) similar to the FSM.
> Whenever a backend encounters a dead tuple it inserts a reference to
> its page into the RSM.
This assumes that backends will visit dead tuples with significant
probability. I doubt that assumption is tenable; it's certainly not
if you assume that no backend is doing seqscans. (And if they are,
then VACUUM is not the only I/O culprit...)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Manfred Koizar | 2003-08-21 21:33:10 | Re: Decent VACUUM (was: Buglist) |
Previous Message | Philip Boonzaaier | 2003-08-21 21:13:05 | Re: Bulk Insert / Update / Delete |
From | Date | Subject | |
---|---|---|---|
Next Message | Manfred Koizar | 2003-08-21 21:18:04 | Re: [SQL] "SELECT IN" Still Broken in 7.4b |
Previous Message | Stephan Szabo | 2003-08-21 21:07:08 | Re: [SQL] "SELECT IN" Still Broken in 7.4b |