| 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: | Whole Thread | Raw Message | 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 |