Hi Tom,
I've attempted to reproduce this on my PC in Docker from the stage
database dump, but no luck. The first query execution on Postgres 15
behaves like on the real stage, but subsequent ones use the index. Also,
they execute much faster. Looks like the hardware and(or) the data
structure on disk matters.
Here is the Docker Compose sample config:
version:'2.4' services:
database-15:
image: postgres:15.4
ports:
-"7300:5432" environment:
POSTGRES_DB: stage_db
POSTGRES_USER: stage
POSTGRES_PASSWORD: stage
volumes:
-"./init.sql:/docker-entrypoint-initdb.d/init.sql"
-"./pgdb/aws-15:/var/lib/postgresql/data" mem_limit: 512M
cpus: 2
blkio_config:
device_read_bps:
-path: /dev/nvme0n1
rate:'10mb' device_read_iops:
-path: /dev/nvme0n1
rate: 2000
device_write_bps:
-path: /dev/nvme0n1
rate:'10mb' device_write_iops:
-path: /dev/nvme0n1
rate: 2000
I performed tests only with CPU and memory limits. If I try to limit the
disk(blkio_config), my system hangs on container startup after a while.
Could you please share your thoughts on how to create such a
self-contained test case.
Kind regards,
Alexander
On 18.10.2023 22:35, Tom Lane wrote:
If you could provide a self-contained test case that performs 10x
worse under v15 than v12, we'd surely take a look at it. But with the
information you've given so far, little is possible beyond speculation.