Plan your database connections for GitLab 16.0+ (dual database mode). Based on GitLab 18.9 documentation.
📚 View GitLab DocumentationPuma Configuration
puma['worker_processes'] = 8 puma['max_threads'] = 4 # DB_POOL_HEADROOM = 10 (default)
Default is based on CPU core count. Typically 1 worker per vCPU core.
Default is 4 threads. Higher values increase concurrency per worker.
Default is 10. Extra connections reserved for handling demand spikes. Do not change unless necessary.
Total number of nodes/servers running Puma in your deployment.
Sidekiq Configuration
sidekiq['queue_groups'] = ['*'] * 1 sidekiq['concurrency'] = 20 # DB_POOL_HEADROOM = 10 (default)📖 Run multiple Sidekiq processes
Default is 1 process. Scale up with multiple processes to handle more background jobs.
Default is 20. Number of threads each Sidekiq process can run simultaneously.
Default is 10. Extra connections reserved for handling demand spikes. Do not change unless necessary.
Total number of nodes/servers running Sidekiq in your deployment.
Geo Configuration (Optional)
Total Connection Requirements
Single Database Total
Dual Database Total (×2)
Recommended PostgreSQL Configuration:
(20% buffer added for safety margin)