Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>, tender wang <tndrwang(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock
Date: 2024-02-27 09:56:35
Message-ID: CAFiTN-uRu1+74H9Tq1YcxCHFMedioaZHDQ0ETo1gYa_c69PDkw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Feb 26, 2024 at 9:46 PM Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
wrote:

> On 2024-Feb-23, Dilip Kumar wrote:
>
> + <para>
> + For each <literal>SLRU</literal> area that's part of the core server,
> + there is a configuration parameter that controls its size, with the
> suffix
> + <literal>_buffers</literal> appended. For historical
> + reasons, the names are not exact matches, but <literal>Xact</literal>
> + corresponds to <literal>transaction_buffers</literal> and the rest
> should
> + be obvious.
> + <!-- Should we edit pgstat_internal.h::slru_names so that the "name"
> matches
> + the GUC name?? -->
> + </para>
>
> I think I would like to suggest renaming the GUCs to have the _slru_ bit
> in the middle:
>
> +# - SLRU Buffers (change requires restart) -
> +
> +#commit_timestamp_slru_buffers = 0 # memory for pg_commit_ts (0
> = auto)
> +#multixact_offsets_slru_buffers = 16 # memory for
> pg_multixact/offsets
> +#multixact_members_slru_buffers = 32 # memory for
> pg_multixact/members
> +#notify_slru_buffers = 16 # memory for pg_notify
> +#serializable_slru_buffers = 32 # memory for pg_serial
> +#subtransaction_slru_buffers = 0 # memory for pg_subtrans (0 =
> auto)
> +#transaction_slru_buffers = 0 # memory for pg_xact (0 =
> auto)
>
> and the pgstat_internal.h table:
>
> static const char *const slru_names[] = {
> "commit_timestamp",
> "multixact_members",
> "multixact_offsets",
> "notify",
> "serializable",
> "subtransaction",
> "transaction",
> "other" /* has to be last
> */
> };
>
> This way they match perfectly.
>

Yeah, I think this looks fine to me.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2024-02-27 10:02:28 RE: speed up a logical replica setup
Previous Message Benoit Lobréau 2024-02-27 09:55:27 Re: Logging parallel worker draught