| From: | "Florian G(dot) Pflug" <fgp(at)phlo(dot)org> |
|---|---|
| To: | Postgresql-Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Read-ahead and parallelism in redo recovery |
| Date: | 2008-03-01 01:02:33 |
| Message-ID: | 47C8AB29.6000400@phlo.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Greg Stark wrote:
> Florian G. Pflug wrote:
>> The same holds true for index scans, though. Maybe we can find a
>> solution that benefits both cases - something along the line of a
>> bgreader process
> I posted a patch to do readahead for bitmap index scans using
> posix_fadvise. Experiments showed it works great on raid arrays on
> Linux. Solaris will need to use libaio though which I haven't tried
> yet.
Cool! I'd like to try it out - is that patch available in the pg-patches
archives?
> Doing it for normal index scans is much much harder. You can
> readahead a single page by using the next pointer if it looks like
> you'll need it. But I don't see a convenient way to get more than
> that.
I was thinking that after reading a page from the index, the backend
could post a list of heap pages referenced from that index page to the
shmem. A background process would repeatedly scan that list, and load
those pages into the buffer cache.
regards, Florian Pflug
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Hiroshi Saito | 2008-03-01 10:14:44 | Re: OSSP can be used in the windows environment now! |
| Previous Message | Gregory Stark | 2008-02-29 22:30:28 | Re: Read-ahead and parallelism in redo recovery |