Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Read-ahead and parallelism in redo recovery


  • From: "Florian G. 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: Sat, 01 Mar 2008 02:02:33 +0100
  • Message-id: <47C8AB29.6000400@phlo.org> <text/plain>

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





Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group