Re: Disk I/O Question

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: teeeebro <terryb(at)esi(dot)net>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: Disk I/O Question
Date: 2015-11-10 15:31:49
Message-ID: 56420DE5.3070609@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Mammarelli, Joanne T 2015-11-10 15:37:07 Re: tds_fdw - work on windows
Previous Message Geoff Winkless 2015-11-10 15:30:15 Re: Disk I/O Question