Re: [HACKERS] Re: Anyone have experience benchmarking very higheffective_io_concurrency on NVME's? - Mailing list pgsql-hackers

From Craig Ringer
Subject Re: [HACKERS] Re: Anyone have experience benchmarking very higheffective_io_concurrency on NVME's?
Date
Msg-id CAMsr+YEbWaDqL9Lj5-EGXMtFY7eN-PGRSbwCQfRBmMSdsg=GWg@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Re: Anyone have experience benchmarking very higheffective_io_concurrency on NVME's?  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On 1 November 2017 at 11:49, Andres Freund <andres@anarazel.de> wrote:

> Right. It'd probably be good to be a bit more adaptive here. But it's
> hard to do with posix_fadvise - we'd need an operation that actually
> notifies us of IO completion.  If we were using, say, asynchronous
> direct IO, we could initiate the request and regularly check how many
> blocks ahead of the current window are already completed and adjust the
> queue based on that, rather than jus tfiring off fadvises and hoping for
> the best.

In case it's of interest, I did some looking into using Linux's AIO
support in Pg a while ago, when chasing some issues around fsync
retries and handling of I/O errors.

It was a pretty serious dead end; it was clear that fsync support in
AIO is not only incomplete but inconsistent across kernel versions,
let alone other platforms.

But I see your name in the relevant threads, so you know that. To save
others the time, see:

* https://lwn.net/Articles/724198/
* https://lwn.net/Articles/671649/

-- Craig Ringer                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [HACKERS] Re: PANIC: invalid index offnum: 186 when processingBRIN indexes in VACUUM
Next
From: Pavel Stehule
Date:
Subject: Re: [HACKERS] proposal: schema variables