Re: Asynchronous I/O in Postgres - Mailing list pgsql-novice

From Josh Kupershmidt
Subject Re: Asynchronous I/O in Postgres
Date
Msg-id AANLkTinygXJv_CFY__PT+hQYWMADC6bDrMQih-kk2wbd@mail.gmail.com
Whole thread Raw
In response to Re: Asynchronous I/O in Postgres  (Mladen Gogala <mladen.gogala@vmsinfo.com>)
Responses Re: Asynchronous I/O in Postgres  (Bruce Momjian <bruce@momjian.us>)
List pgsql-novice
On Fri, Oct 8, 2010 at 8:14 AM, Mladen Gogala <mladen.gogala@vmsinfo.com> wrote:
> Mladen Gogala wrote:
>>
>> So, essentially, the process is reading block by block, in a sequence.
>> What, exactly, does "effective_io_concurrency" mean?
>>
>
> To rephrase my question, can anybody tell me where in the code is it used?

The docs are a bit sparse here :-(

But it looks to me like effective_io_concurrency only affects bitmap
heap scans. The setting from effective_io_concurrency gets put into
"target_prefetch_pages" in ./src/backend/utils/misc/guc.c . But the
only place which uses that variable is
./src/backend/executor/nodeBitmapHeapscan.c.

The EnterpriseDB docs
<http://www.enterprisedb.com/docs/en/8.3R2/perf/Postgres_Plus_Advanced_Server_Performance_Guide-17.htm>
mention:
"effective_io_concurrency is only used for Bitmap Heap Scans. For
normal sequential scans the operating system should handle read-ahead
internally (On Linux, see the blockdev command, in particular --setra
and --setfra)."

Josh

pgsql-novice by date:

Previous
From: Mladen Gogala
Date:
Subject: Re: Asynchronous I/O in Postgres
Next
From: Josh Kupershmidt
Date:
Subject: Re: PostgreSQL data types mapped Java classes for JDBC