Re: Increase default maintenance_io_concurrency to 16 - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Increase default maintenance_io_concurrency to 16
Date
Msg-id 4p7gtb2nfr3njhgq7bmpe24unsbyoerlom7zrcu5sl2vyyutlp@ol5ywrm7j5ok
Whole thread Raw
In response to Re: Increase default maintenance_io_concurrency to 16  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Increase default maintenance_io_concurrency to 16
Re: Increase default maintenance_io_concurrency to 16
List pgsql-hackers
Hi,

On 2025-03-18 16:35:29 -0400, Bruce Momjian wrote:
> Uh, the random_page_cost = 4 assumes caching, so it is assuming actual
> random I/O to be 40x slower, which I doubt is true for SSDs:

Uh, huh:

>     https://www.postgresql.org/docs/current/runtime-config-query.html#RUNTIME-CONFIG-QUERY-CONSTANTS
>
>     Random access to mechanical disk storage is normally much more expensive
>     than four times sequential access. However, a lower default is used
>     (4.0) because the majority of random accesses to disk, such as indexed
>     reads, are assumed to be in cache. The default value can be thought of
>     as modeling random access as 40 times slower than sequential, while
>     expecting 90% of random reads to be cached.

Is that actually a good description of what we assume? I don't know where that
90% is coming from? Briefly skimming through selfuncs.c and costsize.c I don't
see anything.

The relevant change:

commit c1d9df4fa227781b31be44a5a3024865a7f48049
Author: Bruce Momjian <bruce@momjian.us>
Date:   2012-02-14 16:54:54 -0500

    Document random page cost is only 4x seqeuntial, and not 40x.

The relevant discussion seems to be:
https://postgr.es/m/4F31A05A.1060506%402ndQuadrant.com

But I don't see any origin of that number in that thread.

I am not sure if I found the correct email for Greg Smith?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: Update Unicode data to Unicode 16.0.0
Next
From: Jeff Davis
Date:
Subject: Re: Update Unicode data to Unicode 16.0.0