Note Puma support is EXPERIMENTAL at this time. We do not recommend using it in production yet.

Puma is a multi-threaded HTTP 1.1 server for Ruby applications. To enable Puma, be sure to disable Unicorn:

unicorn['enable'] = false
puma['enable'] = true

Puma settings

If you need to adjust the Puma timeout, the number of workers, or the number of threads Puma should use, you can use the following settings in /etc/gitlab/gitlab.rb. Run sudo gitlab-ctl reconfigure for the change to take effect.

puma['worker_processes'] = 3
puma['worker_timeout'] = 60
puma['min_threads'] = 4
puma['max_threads'] = 4

For more details, see the Puma documentation.

Puma Worker Killer

By default, the Puma Worker Killer will restart a worker if it exceeds a memory limit To change this setting:

puma['per_worker_max_memory_mb'] = 850