3 ms·
The default "Postgres" uses: shared_buffers = 128MB max_parallel_workers = 8 max_parallel_workers_per_gather = 2 work_mem = 4MB "Postgres (tun
by tomnipotent 3y ago
The default "Postgres" uses:
shared_buffers = 128MB
max_parallel_workers = 8
max_parallel_workers_per_gather = 2
work_mem = 4MB
"Postgres (tuned)" uses:
shared_buffers = 8GB (64x the default)
max_parallel_workers = 16
max_parallel_workers_per_gather = 8
work_mem = 4MB
"Hydra" uses:
shared_buffers = 8GB
max_parallel_workers = 16
max_worker_processes = 32 (default 8)
work_mem = 64MB
The default settings are not realistic when running on a c6a.4xlarge instance, and the "Postgres (tuned)" settings more closely match what "Hydra" is configured to use.
I consider it dishonest because I do not believe a team working this close to Postgres internals wouldn't know this.
- _nvp 3y agoYes, setting between Hydra and Postgres (tuned) are somehow aligned. But what Postgres (tuned) also creates are bunch of indexes (https://github.com/ClickHouse/ClickBench/blob/main/postgresql-tuned/index.sql https://github.com/ClickHouse/ClickBench/blob/main/postgresq...) which adds around ~50GB of extra storage.
- tomnipotent 3y agoEquivalent settings makes the comparison more useful, and storage-conscious readers will pick-up that Postgres uses 4-6x more.
- _nvp 3y agoAgree, but also, IMO, using index is what gives also performance boost. Just looking at queries that use string search - they have best result overall in complete test. Postgres (tuned) is designed for this specific clickbench table and nothing wrong with that.
- riku_iki 3y ago> Yes, setting between Hydra and Postgres (tuned) are somehow aligned. very somehow, since Hydra essentially is allowed to use 4 times more CPU cores.