Closed MaxBear closed 3 days ago
I believe shared_buffers is a pretty typical recommendation. IRRD itself is also quite memory heavy - we preload all AS set members and all prefixes per ASN. For work_mem, the default in PostgreSQL is much lower, and the key issue (years ago at least) was to prevent on-disk sorting, hence a raise to fit a large IRRD response.
Happy to adjust though, if you have recommendations?
We used the following formula suggested by artical
(Total RAM - shared_buffers)/(16 x Number CPU cores) where shared buffer is 1/4 * total RAM
that is
(0.75 * Total RAM )/(16 x Number CPU cores)
to calculate the amount of work_mem which is more than 300 MB. This is purely practical. We just wondered if there are special reasons that those values should be set to a small amount.
Describe the bug IRRd 4.4.4 documentation on PostgreSQL configuration suggested value for memory related parameters such as work_mem , shared_buffer are quite small. It does not explain how those values are calculated, such as the amount of memory and disk space for deployment.
To Reproduce
Expected behaviour Any formula or logic behind what those members are based on.
IRRd version you are running 4.4.3
Additional context Our deployment runs on virtual machines