Benchmark and compare experimental "dbteam" instances on Azure and GCP
-
synthetic DB benchmarks ( pgbench
)-
SELECTs, scale < shared_buffers
-
mixed workload, scale < shared_buffers
-
larger scale (>> shared_buffers
)
-
HowTo: https://gitlab.com/gitlab-com/runbooks/blob/db_benchmarking/howto/benchmark-database-instance.md
-
"real workload" -
FS tests: -
fio
– in this issue (see below) -
bonnie++
andseek-scaling
– gitlab-com/migration#737 (closed)
-
Specs
- Azure instance: 32cpu/448GB x4 5TB
postgres-dbteam-01.db.stg.gitlab.com
- 10x 512GB premium SSD LVM - GCP instance: 64cpu/416GB x4 5TB
postgres-dbteam-01-db-gstg
- 1x 5TB SSD
Postgres config options used on both servers:
max_connections | 300
autovacuum_analyze_scale_factor | 0.005
autovacuum_max_workers | 6
autovacuum_naptime | 30
autovacuum_vacuum_scale_factor | 0.005
max_connections | 300
default_statistics_target | 100
effective_cache_size | 331 GB
random_page_cost | 1.5
seq_page_cost | 1
effective_io_concurrency | 100
max_parallel_workers_per_gather | 0
max_worker_processes | 8
autovacuum_work_mem | -1
maintenance_work_mem | 2048 MB
shared_buffers | 110 GB
work_mem | 16 MB
checkpoint_completion_target | 0.7
max_wal_size | 5120 MB
min_wal_size | 80 MB
wal_buffers | 16 MB
Edited by Nikolay Samokhvalov