From: Przemek Wozniak <wozniak@lanl.gov>
To: pgsql-performance@postgresql.org
Subject: concurrent IO in postgres?
Date: Thu, 23 Dec 2010 10:37:53 -0700
Message-ID: <1293125873.3685.91.camel@procyon.lanl.gov> (raw)
When testing the IO performance of ioSAN storage device from FusionIO
(650GB MLC version) one of the things I tried is a set of IO intensive
operations in Postgres: bulk data loads, updates, and queries calling
for random IO. So far I cannot make Postgres take advantage of this
tremendous IO capacity. I can squeeze a factor of a few here and there
when caching cannot be utilized, but this hardware can do a lot more.
Low level testing with fio shows on average x10 speedups over disk for
sequential IO and x500-800 for random IO. With enough threads I can get
IOPS in the 100-200K range and 1-1.5GB/s bandwidth, basically what's
advertised. But not with Postgres.
Is this because the Postgres backend is essentially single threaded and
in general does not perform asynchronous IO, or I'm missing something?
I found out that the effective_io_concurrency parameter only takes
effect for bitmap index scans.
Also, is there any work going on to allow concurrent IO in the backend
and adapt Postgres to the capabilities of Flash?
Will appreciate any comments, experiences, etc.
Przemek Wozniak
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-performance@postgresql.org
Cc: wozniak@lanl.gov
Subject: Re: concurrent IO in postgres?
In-Reply-To: <1293125873.3685.91.camel@procyon.lanl.gov>
* 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