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