Puma Worker Configuration (#1701)

We noticed that the current default settings perform very poorly under
load. We managed to literally take down Greenlight during a larger event
when people where accessing the landing page for rooms and when doing
some tests, I was more or less able to DoS Greenlight on my own.

This patch adds a default worker configuration similar to the previous
configuration with one worker, but lets users easily adjust it to more
workers which significantly improves the situation. The small, 4 core
machine I was testing on could handle about thrice the amount of
requests.

Co-authored-by: Ahmad Farhat <ahmad.af.farhat@gmail.com>
This commit is contained in:
Lars Kiesow
2020-09-29 17:44:47 +02:00
committed by GitHub
parent ba7beb827a
commit 4286864263
2 changed files with 15 additions and 3 deletions

View File

@ -268,7 +268,7 @@ CABLE_ADAPTER=postgresql
DEFAULT_REGISTRATION=open
# Preupload Presentation Storage
#
#
# By default, if Preupload Presentation is enabled for rooms, presentations are uploaded locally to ~/greenlight/storage
# If you prefer to use AWS S3 or GCS Storage, you can set the variables below
#
@ -287,3 +287,15 @@ DEFAULT_REGISTRATION=open
# GCS_CLIENT_CERT=
# GCS_PROJECT=
# GCS_BUCKET=
# Web server settings
#
# The size of the thread pool per worker used by Greenlight's web server.
# For details, see: https://github.com/puma/puma#thread-pool
# Default: 5
#RAILS_MAX_THREADS=5
# The amount of workers (separate processes) used by the web server.
# For details, see: https://github.com/puma/puma#clustered-mode
# Default: 1
#WEB_CONCURRENCY=1