Why is Postgres only using 8 cores for partitioned count? - Mailing list pgsql-general

From Seamus Abshere
Subject Why is Postgres only using 8 cores for partitioned count?
Date
Msg-id 19b02e4e-c2b4-4853-868e-2541965da96a@www.fastmail.com
Whole thread Raw
Responses Re: Why is Postgres only using 8 cores for partitioned count? [Parallel Append]  ("Seamus Abshere" <sabshere@alumni.princeton.edu>)
List pgsql-general
hi,

How can I convince Postgres to use more than 8 cores?

I've got an r6gd.16xlarge with 64 vCpus and 512gb RAM running Postgres 13.1 on Ubuntu 20.04.

CREATE TABLE tbl (
  [...]
) PARTITION BY HASH (address_key);

It has 64 partitions - e.g. FOR VALUES WITH (modulus 64, remainder 0) etc.

We're running `SELECT COUNT(*) FROM tbl`.

I've watched top and I never see more than 8 cores going 100%.

Here is my (admittedly ridiculous) postgresql.conf:

checkpoint_completion_target = 0.9
data_directory='/tank/postgresql/13/main'
default_statistics_target = 100
effective_cache_size = 381696MB
effective_io_concurrency = 200
enable_partition_pruning=on
enable_partitionwise_aggregate=on
enable_partitionwise_join=on
listen_addresses='*'
maintenance_work_mem = 2GB
max_connections = 200
max_parallel_maintenance_workers = 4
max_parallel_workers = 512
max_parallel_workers_per_gather = 512
max_wal_size = 4GB
max_worker_processes = 512
min_wal_size = 1GB
random_page_cost = 1.1
shared_buffers = 127232MB
shared_preload_libraries = 'cstore_fdw'
synchronous_commit=off
wal_buffers = 16MB
work_mem = 1628560kB

Best,
Seamus


--
Seamus Abshere, SCEA
https://faraday.ai
https://github.com/seamusabshere
https://linkedin.com/in/seamusabshere



pgsql-general by date:

Previous
From: Noah Bergbauer
Date:
Subject: Re: Preventing free space from being reused
Next
From: Thomas Guyot
Date:
Subject: Re: AW: ldap connection parameter lookup