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

Asynchronous I/O in Postgres

From: Mladen Gogala <mladen(dot)gogala(at)vmsinfo(dot)com>
To: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Asynchronous I/O in Postgres
Date: 2010-10-08 01:00:02
Message-ID: 4CAE6D12.9050301@vmsinfo.com (view raw or flat)
Thread:
Lists: pgsql-docspgsql-novice
Postgres 8.4 and  9.0 have the parameter named 
"effective_io_concurrency". The manual page is very short, it says the 
following:

Sets the number of concurrent disk I/O operations that PostgreSQL 
expects can be executed simultaneously. Raising this value will increase 
the number of I/O operations that any individual PostgreSQL session 
attempts to initiate in parallel. The allowed range is 1 to 1000, or 
zero to disable issuance of asynchronous I/O requests.

http://www.postgresql.org/docs/current/static/runtime-config-resource.html

My initial understanding was that this was the size of  the table, 
containing aiocb pointers, so that PgSQL can launch up to 1000 
simultaneous aio_read or aio_write, per process. While monitoring the 
system, I noticed that there is no asynchronous I/O at all! Nothing, 
nada, zilch! Then I noticed that the "postgres" binary,  is not even 
linked with libaio, so aio_read was out of the question:

-bash-3.2$ ldd postgres|grep libaio
-bash-3.2$

The platform is Postgres 9.0.1 on RH EL 5.5 x86-64. My understanding of 
the "effective_io_concurrency" was apparently very wrong. What is the 
"effective concurrency" and what are those "simultaneous I/O requests" 
that man page is talking about. Can somebody please define in precise 
terms what is it that this parameter defines? What kind of "concurrent 
I/O" is Postgres doing without asynchronous I/O calls? If this parameter 
is just a stub for the future reference, I'd like to know. Will Postgres 
use asynchronous I/O? Is that planned?



-- 
Mladen Gogala 
Sr. Oracle DBA
1500 Broadway
New York, NY 10036
(212) 329-5251
www.vmsinfo.com 


Responses

pgsql-novice by date

Next:From: Mladen GogalaDate: 2010-10-08 03:34:35
Subject: Re: Asynchronous I/O in Postgres
Previous:From: Mike EllsworthDate: 2010-10-07 18:26:32
Subject: Re: Scheduling a Stored Procedure?

pgsql-docs by date

Next:From: Robert HaasDate: 2010-10-08 02:39:50
Subject: EXPLAIN html formatting
Previous:From: Devrim GÜNDÜZDate: 2010-10-05 22:44:49
Subject: Re: Latest release date formatting on http://www.postgresql.org/

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group