Re: Disk I/O Question - Mailing list pgsql-general

From Jim Nasby
Subject Re: Disk I/O Question
Date
Msg-id 56420DE5.3070609@BlueTreble.com
Whole thread Raw
In response to Disk I/O Question  (teeeebro <terryb@esi.net>)
List pgsql-general
On 11/10/15 8:34 AM, teeeebro wrote:
> What I've read about PostgreSQL is that it's a single-thread disk I/O system
> where only one read/write operation executes at a time.

Definitely false. However...

Other databases support asynchronous IO, where the database tries to
issue IO requests before they're needed and let the kernel notify when
the IO is complete. Postgres does some other things in this area, but
it's not the same. The end result is that if there's much latency in
your IO subsystem at all then performance is really going to take a hit.
I've specifically seen this on iSCSI. The good news is that if you have
enough concurrent queries you can still get pretty close to maximum
theoretical throughput, so for common OLTP workloads you should still be
able to scale pretty well.

I'd suggest setting effective_io_concurrency to something > 1. That will
allow some operations to attempt pre-fetching data.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com


pgsql-general by date:

Previous
From: Geoff Winkless
Date:
Subject: Re: Disk I/O Question
Next
From: "Mammarelli, Joanne T"
Date:
Subject: Re: tds_fdw - work on windows