diff --git a/docker-compose.yml b/docker-compose.yml index bacca813..407bbfb4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: DB_PASSWORD: nostr_ts_relay DB_NAME: nostr_ts_relay DB_MIN_POOL_SIZE: 5 - DB_MAX_POOL_SIZE: 15 + DB_MAX_POOL_SIZE: 25 REDIS_HOST: cache REDIS_PORT: 6379 REDIS_USER: default @@ -41,6 +41,7 @@ services: POSTGRES_PASSWORD: nostr_ts_relay volumes: - pgdata:/var/lib/postgresql/data/ + - ./postgresql.conf:/etc/postgresql.conf ports: - 15432:5432 networks: diff --git a/postgresql.conf b/postgresql.conf new file mode 100644 index 00000000..0882425c --- /dev/null +++ b/postgresql.conf @@ -0,0 +1,27 @@ +# DB Version: 15 +# OS Type: linux +# DB Type: oltp +# Total Memory (RAM): 8 GB +# CPUs num: 4 +# Connections num: 60 +# Data Storage: ssd + +max_connections = 100 +shared_buffers = 2GB +effective_cache_size = 6GB +maintenance_work_mem = 512MB +checkpoint_completion_target = 0.9 +wal_buffers = 16MB +default_statistics_target = 100 +random_page_cost = 1.1 +effective_io_concurrency = 200 +work_mem = 17476kB +min_wal_size = 2GB +max_wal_size = 8GB +max_worker_processes = 4 +max_parallel_workers_per_gather = 2 +max_parallel_workers = 4 +max_parallel_maintenance_workers = 2 + +logging_collector = on +log_min_duration_statement = 500