> On 17 Aug 2022, at 00:36, i.laza...@postgrespro.ru wrote:
> 
>> Andrey Borodin wrote 2022-07-23 11:39:
>> Yura, thank you for your benchmarks!
>> We already knew that patch can save the day on pathological workloads,
>> now we have a proof of this.
>> Also there's the evidence that user can blindly increase size of SLRU
>> if they want (with the second patch). So there's no need for hard
>> explanations on how to tune the buffers size.
> 
> Hi @Andrey.Borodin, With some considerations and performance checks from 
> @Yura.Sokolov we simplified your approach by the following:
> 
> 1. Preamble. We feel free to increase any SLRU's, since there's no 
> performance degradation on large Buffers count using your SLRU buckets 
> solution.
> 2. `slru_buffers_size_scale` is only one config param introduced for all 
> SLRUs. It scales SLRUs upper cap by power 2.
> 3. All SLRU buffers count are capped by both `MBuffers (shared_buffers)` and 
> `slru_buffers_size_scale`. see
> 4. Magic initial constants `NUM_*_BUFFERS << slru_buffers_size_scale` are 
> applied for every SLRU.
> 5. All SLRU buffers are always sized as power of 2, their hash bucket size is 
> always 8.
> 
> There's attached patch for your consideration. It does gather and simplify 
> both `v21-0001-Make-all-SLRU-buffer-sizes-configurable.patch` and 
> `v21-0002-Divide-SLRU-buffers-into-8-associative-banks.patch` to much simpler 
> approach.

I like the idea of one knob instead of one per each SLRU. Maybe we even could 
deduce sane value from NBuffers? That would effectively lead to 0 knobs :)

Your patch have a prefix "v22-0006", does it mean there are 5 previous steps of 
the patchset?

Thank you!


Best regards, Andrey Borodin.

Reply via email to