GRN2-XX: Patch to overcome performance issues with the database. (#2454)

This commit is contained in:
Jesus Federico 2021-01-20 17:25:49 -05:00 committed by GitHub
parent 60b8bbfa06
commit 44abc0e91e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View File

@ -1,5 +1,5 @@
default: &default default: &default
pool: 9 pool: 5
timeout: 5000 timeout: 5000
development: development:
@ -22,3 +22,5 @@ production:
username: <%= ENV['DB_USERNAME'] %> username: <%= ENV['DB_USERNAME'] %>
password: <%= ENV['DB_PASSWORD'] %> password: <%= ENV['DB_PASSWORD'] %>
pool: <%= ENV['DB_POOL_SIZE'] || '9' %> pool: <%= ENV['DB_POOL_SIZE'] || '9' %>
connect_timeout: <%= ENV['DB_CONNECT_TIMEOUT'] || '5' %>
read_timeout: <%= ENV['DB_READ_TIMEOUT'] || '120' %>

View File

@ -259,7 +259,7 @@ ENABLE_SSL=true
# Database settings # Database settings
# #
# Greenlight may work out of the box with sqlite3, but for production it is recommended to use postgresql. # Greenlight may work out of the box with sqlite3, but for production it is recommended to use postgresql.
# In such case, these variables must be included. # In such case, these variables must be included:
# #
# DB_ADAPTER=postgresql # DB_ADAPTER=postgresql
# DB_HOST=postgres.example.com # DB_HOST=postgres.example.com
@ -267,11 +267,19 @@ ENABLE_SSL=true
# DB_NAME=greenlight_production # DB_NAME=greenlight_production
# DB_USERNAME=postgres # DB_USERNAME=postgres
# DB_PASSWORD=password # DB_PASSWORD=password
#
# The ActionCable-Workers require 4 connections. So, when using postgres as the CABLE_ADAPTER
# make sure the Database can handle the overall connection count calculated as follows:
# ( RAILS_MAX_THREADS + 4 ) * WEB_CONCURRENCY
# So DB_POOL_SIZE should be set to RAILS_MAX_THREADS + 4
#
# DB_POOL_SIZE=9 # DB_POOL_SIZE=9
# #
# DB_POOL_SIZE should be set to RAILS_MAX_THREADS + 4 # Additionally, there may be cases where the database has errors so the old db connections became stale.
# The ActionCable-Workers require 4 connections. # In order to overcome the lost of connections, it is recommended to add a timeout.
# Make sure your Database can handle the overall connection count calculated as follows: ( RAILS_MAX_THREADS + 4 ) * WEB_CONCURRENCY #
# DB_CONNECT_TIMEOUT=5
# DB_READ_TIMEOUT=120
# #
# For deployments based on the docker-compose script also included, the HOST should be set with the Docker container id. # For deployments based on the docker-compose script also included, the HOST should be set with the Docker container id.
# #
@ -281,7 +289,6 @@ DB_PORT=5432
DB_NAME=greenlight_production DB_NAME=greenlight_production
DB_USERNAME=postgres DB_USERNAME=postgres
DB_PASSWORD=password DB_PASSWORD=password
DB_POOL_SIZE=9
# Use postgresql to handle ActionCable connections by default # Use postgresql to handle ActionCable connections by default
CABLE_ADAPTER=postgresql CABLE_ADAPTER=postgresql