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
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 |