Re: WAL prefetch - Mailing list pgsql-hackers

From Konstantin Knizhnik
Subject Re: WAL prefetch
Date
Msg-id 3842d035-e083-6d90-b04d-6bbdcf0b19f3@postgrespro.ru
Whole thread Raw
In response to Re: WAL prefetch  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers

On 09.07.2018 21:28, Andres Freund wrote:
> Hi,
>
> On 2018-07-09 11:59:06 +0200, Tomas Vondra wrote:
>>> * During the design phase, I looked into using bgworkers but given the number of
>>>     in-flight pread(2) calls required to fully utilize the IO subsystem, I opted
>>>     for something threaded (I was also confined to using Solaris which doesn't
>>>     support posix_fadvise(2), so I couldn't sequentially dispatch async
>>>     posix_fadvise(2) calls and hope for the best).
>>>
>> Hmm, yeah. I'm not sure what to do with this. Using many (thousands?) of
>> prefetch processes seems like a bad idea - we surely can't make them regular
>> bgworkers. Perhaps we could use one process with many threads?
>> Presumably if we knew about a better way to do prefetching without
>> posix_fadvise, we'd have implemented it in FilePrefetch(). But we just error
>> out instead :-(
> Solaris is dead. We shouldn't design for it... I think there's decent
> reasons to go for a non fadvise approach, but solaris imo isn't one of
> them.
>
> Greetings,
>
> Andres Freund
I have attached to the first my mail in this thread small utility for 
measuring effect of data prefetch for random reads.
At my desktop posix_fadvise performed in one thread demostrated the best 
results, comparing with pread in any number of threads.



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: no partition pruning when partitioning using array type
Next
From: Alexander Korotkov
Date:
Subject: Re: Locking B-tree leafs immediately in exclusive mode