Thread: random_page_cost configuration parameter

random_page_cost configuration parameter

From
Mathias Kunter
Date:
Hello all,

the documentation of the random_page_cost configuration parameter says:

> Although the system will let you set random_page_cost to less than
> seq_page_cost, it is not physically sensible to do so.

Source: 
https://www.postgresql.org/docs/current/runtime-config-query.html#RUNTIME-CONFIG-QUERY-CONSTANTS

However, I don't think this statement is true. Consider the situation 
where the randomly fetched pages are mostly (or even entirely) cached in 
RAM, but where the sequentially fetched pages must be mostly read from 
disk. An example for such a scenario is a database system which uses 
RAM-cached indices.

Such a database system would be best modeled with random_page_cost < 
seq_page_cost. Please correct me if I'm wrong.

Best regards
Mathias Kunter



Re: random_page_cost configuration parameter

From
Tom Lane
Date:
Mathias Kunter <mathiaskunter@gmail.com> writes:
> the documentation of the random_page_cost configuration parameter says:

>> Although the system will let you set random_page_cost to less than
>> seq_page_cost, it is not physically sensible to do so.

> However, I don't think this statement is true. Consider the situation 
> where the randomly fetched pages are mostly (or even entirely) cached in 
> RAM, but where the sequentially fetched pages must be mostly read from 
> disk. An example for such a scenario is a database system which uses 
> RAM-cached indices.

I think fooling with effective_cache_size is a better way to model
that situation.

            regards, tom lane



Re: random_page_cost configuration parameter

From
Mathias Kunter
Date:
Am 28.12.21 um 17:03 schrieb Tom Lane:
> Mathias Kunter <mathiaskunter@gmail.com> writes:
>> Consider the situation
>> where the randomly fetched pages are mostly (or even entirely) cached in
>> RAM, but where the sequentially fetched pages must be mostly read from
>> disk. An example for such a scenario is a database system which uses
>> RAM-cached indices.
> 
> I think fooling with effective_cache_size is a better way to model
> that situation.

The default value of effective_cache_size is 4 GB.  Which value should 
be used instead on a system which only has 4 GB of total RAM, but still 
uses RAM-cached indices?

Thank you very much for the clarification!

Best regards
Mathias Kunter



Re: random_page_cost configuration parameter

From
Bruce Momjian
Date:
On Wed, Jan  5, 2022 at 07:27:55PM +0100, Mathias Kunter wrote:
> Am 28.12.21 um 17:03 schrieb Tom Lane:
> > Mathias Kunter <mathiaskunter@gmail.com> writes:
> > > Consider the situation
> > > where the randomly fetched pages are mostly (or even entirely) cached in
> > > RAM, but where the sequentially fetched pages must be mostly read from
> > > disk. An example for such a scenario is a database system which uses
> > > RAM-cached indices.
> > 
> > I think fooling with effective_cache_size is a better way to model
> > that situation.
> 
> The default value of effective_cache_size is 4 GB.  Which value should be
> used instead on a system which only has 4 GB of total RAM, but still uses
> RAM-cached indices?

This might help:

    https://momjian.us/main/blogs/pgblog/2012.html#May_4_2012

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  If only the physical world exists, free will is an illusion.