Re: Asynchronous I/O in Postgres

From: Josh Kupershmidt <schmiddy(at)gmail(dot)com>
To: mladen(dot)gogala(at)vmsinfo(dot)com
Cc: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Asynchronous I/O in Postgres
Date: 2010-10-08 13:21:32
Message-ID: AANLkTinygXJv_CFY__PT+hQYWMADC6bDrMQih-kk2wbd@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-novice

On Fri, Oct 8, 2010 at 8:14 AM, Mladen Gogala <mladen(dot)gogala(at)vmsinfo(dot)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

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Brendan Jurd 2010-10-09 01:04:21 Docs for archive_cleanup_command are poor
Previous Message Mladen Gogala 2010-10-08 12:14:31 Re: Asynchronous I/O in Postgres

Browse pgsql-novice by date

  From Date Subject
Next Message Josh Kupershmidt 2010-10-08 14:19:43 Re: PostgreSQL data types mapped Java classes for JDBC
Previous Message Mladen Gogala 2010-10-08 12:14:31 Re: Asynchronous I/O in Postgres