pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Mladen Gogala <mladen.gogala@vmsinfo.com>
To: pgsql-novice@postgresql.org <pgsql-novice@postgresql.org>
Subject: Asynchronous I/O in Postgres
Date: Thu, 07 Oct 2010 21:00:02 -0400
Message-ID: <4CAE6D12.9050301@vmsinfo.com> (raw)

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 




view thread (7+ messages)  latest in thread

Message-ID: <4CAE6D12.9050301@vmsinfo.com>
Permalink:  ../4CAE6D12.9050301@vmsinfo.com/
Also on:    postgresql.org/message-id/4CAE6D12.9050301@vmsinfo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: mladen.gogala@vmsinfo.com, pgsql-novice@postgresql.org
  Subject: Re: Asynchronous I/O in Postgres
  In-Reply-To: <4CAE6D12.9050301@vmsinfo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox