From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Make ringbuffer threshold and ringbuffer sizes configurable? |
Date: | 2020-02-06 06:18:00 |
Message-ID: | 122a0741f5531dab988a3f04691a050ef1b80c5b.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2020-02-05 at 20:00 -0800, Andres Freund wrote:
> The ringbuffers we use for seqscans, vacuum, copy etc can cause very
> drastic slowdowns (see e.g. [1]), an can cause some workloads to
> practically never end up utilizing shared buffers. ETL workloads
> e.g. regularly fight with that problem.
>
> I think it would make sense to have seqscan_ringbuffer_threshold,
> {bulkread,bulkwrite,vacuum}_ringbuffer_size. I think they often sensibly
> are set in proportion of shared_buffers, so I suggest defining them as
> floats, where negative values divide shared_buffers, whereas positive
> values are absolute sizes, and 0 disables the use of ringbuffers.
Sounds reasonable.
I feel that it should be as few GUCs as possible, so I think that
having one per type of operation might be too granular.
This should of course also be a storage parameter that can be
set per table.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Fujii Masao | 2020-02-06 06:24:48 | Re: Tid scan increments value of pg_stat_all_tables.seq_scan. (but not seq_tup_read) |
Previous Message | Amit Langote | 2020-02-06 06:11:01 | typo in set_rel_consider_parallel() |