From f18afe6ffb4ad8fe3af45e1ad2a9a74a680e0971 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Fri, 27 Oct 2023 11:52:56 +0200 Subject: [PATCH 1/2] create swap only if the server has less than 4Go of RAM --- scripts/install | 6 +++--- scripts/restore | 6 +++--- scripts/upgrade | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/install b/scripts/install index 228decb..a398886 100644 --- a/scripts/install +++ b/scripts/install @@ -75,13 +75,13 @@ ynh_app_setting_set --app=$app --key=puma_min_threads --value=$puma_min_threads # ADD SWAP IF NEEDED #================================================= -total_swap=$(ynh_get_ram --total --only_swap) +total_ram=$(ynh_get_ram --total) swap_needed=0 # https://docs.gitlab.com/ce/install/requirements.html#memory # Need at least 2Go of swap -if [ $total_swap -lt 2048 ]; then - swap_needed=$((2048 - total_swap)) +if [ $total_ram -lt 4096 ]; then + swap_needed=2048 fi if [ $swap_needed -gt 0 ]; then diff --git a/scripts/restore b/scripts/restore index 6229acd..cb9b69e 100644 --- a/scripts/restore +++ b/scripts/restore @@ -22,13 +22,13 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" # ADD SWAP IF NEEDED #================================================= -total_swap=$(ynh_get_ram --total --only_swap) +total_ram=$(ynh_get_ram --total) swap_needed=0 # https://docs.gitlab.com/ce/install/requirements.html#memory # Need at least 2Go of swap -if [ $total_swap -lt 2048 ]; then - swap_needed=$((2048 - total_swap)) +if [ $total_ram -lt 4096 ]; then + swap_needed=2048 fi if [ $swap_needed -gt 0 ]; then diff --git a/scripts/upgrade b/scripts/upgrade index 634757f..9fc057c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -94,13 +94,13 @@ ynh_app_setting_set --app=$app --key=puma_worker_processes --value=$puma_worker_ # ADD SWAP IF NEEDED #================================================= -total_swap=$(ynh_get_ram --total --only_swap) +total_ram=$(ynh_get_ram --total) swap_needed=0 # https://docs.gitlab.com/ce/install/requirements.html#memory # Need at least 2Go of swap -if [ $total_swap -lt 2048 ]; then - swap_needed=$((2048 - total_swap)) +if [ $total_ram -lt 4096 ]; then + swap_needed=2048 fi if [ $swap_needed -gt 0 ]; then From dd7ab571dbeb4157c4d14aaab3053ee8c2608943 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Fri, 27 Oct 2023 13:17:13 +0200 Subject: [PATCH 2/2] puma is automatically configured --- conf/gitlab.rb | 6 +++--- scripts/install | 27 --------------------------- scripts/upgrade | 39 +++++++++++---------------------------- upgrade-versions.sh | 3 --- 4 files changed, 14 insertions(+), 61 deletions(-) diff --git a/conf/gitlab.rb b/conf/gitlab.rb index 3f2be1c..54d9af8 100644 --- a/conf/gitlab.rb +++ b/conf/gitlab.rb @@ -1190,9 +1190,9 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__ # puma['enable'] = true # puma['ha'] = false # puma['worker_timeout'] = 60 -puma['worker_processes'] = __PUMA_WORKER_PROCESSES__ -puma['min_threads'] = __PUMA_MIN_THREADS__ -puma['max_threads'] = __PUMA_MAX_THREADS__ +# puma['worker_processes'] = 2 +# puma['min_threads'] = 4 +# puma['max_threads'] = 4 ### Advanced settings # puma['listen'] = '127.0.0.1' diff --git a/scripts/install b/scripts/install index a398886..3207bcb 100644 --- a/scripts/install +++ b/scripts/install @@ -44,33 +44,6 @@ ynh_app_setting_set --app=$app --key=overwrite_nginx --value="1" #================================================= # STANDARD MODIFICATIONS -#================================================= -# DEFINE THE NUMBER OF WORKERS USED -#================================================= - -total_memory=$(ynh_get_ram --total) - -if [ $total_memory -lt 4096 ]; then - #https://docs.gitlab.com/omnibus/settings/puma.html#running-in-memory-constrained-environments - puma_worker_processes=0 -else - #https://docs.gitlab.com/ce/install/requirements.html#puma-workers - puma_worker_processes=$(( $(nproc) > 2 ? $(($(nproc) - 1)) : 2 )) -fi - -# If the server has less than 2GB of RAM -if [ $(ynh_get_ram --total --ignore_swap) -lt 2048 ]; then - puma_min_threads=1 - puma_max_threads=1 -else - puma_min_threads=2 - puma_max_threads=4 -fi - -ynh_app_setting_set --app=$app --key=puma_worker_processes --value=$puma_worker_processes -ynh_app_setting_set --app=$app --key=puma_max_threads --value=$puma_max_threads -ynh_app_setting_set --app=$app --key=puma_min_threads --value=$puma_min_threads - #================================================= # ADD SWAP IF NEEDED #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 9fc057c..c87e646 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -28,20 +28,19 @@ fi config_path=/etc/$app chmod 755 $install_dir -if [ -z "$puma_max_threads" ] || [ -z "$puma_min_threads" ]; then - # If the server has less than 2GB of RAM - if [ $(ynh_get_ram --total --ignore_swap) -lt 2000 ]; then - puma_min_threads=1 - puma_max_threads=1 - else - puma_min_threads=2 - puma_max_threads=4 - fi +if [ -n $(ynh_app_setting_get --app=$app --key=puma_worker_processes) ] +then + ynh_app_setting_delete --app=$app --key=puma_worker_processes +fi - ynh_app_setting_set --app=$app --key=puma_max_threads --value=$puma_max_threads - ynh_app_setting_set --app=$app --key=puma_min_threads --value=$puma_min_threads +if [ -n $(ynh_app_setting_get --app=$app --key=puma_max_threads) ] +then + ynh_app_setting_delete --app=$app --key=puma_max_threads +fi - ynh_app_setting_delete --app=$app --key=unicorn_worker_processes +if [ -n $(ynh_app_setting_get --app=$app --key=puma_min_threads) ] +then + ynh_app_setting_delete --app=$app --key=puma_min_threads fi # If architecture doesn't exist, create it @@ -74,22 +73,6 @@ fi #================================================= # STANDARD UPGRADE STEPS -#================================================= -# DEFINE THE NUMBER OF WORKERS USED -#================================================= - -total_memory=$(ynh_get_ram --total) - -if [ $total_memory -lt 4096 ]; then - #https://docs.gitlab.com/omnibus/settings/puma.html#running-in-memory-constrained-environments - puma_worker_processes=0 -else - #https://docs.gitlab.com/ce/install/requirements.html#puma-workers - puma_worker_processes=$(( $(nproc) > 2 ? $(($(nproc) - 1)) : 2 )) -fi - -ynh_app_setting_set --app=$app --key=puma_worker_processes --value=$puma_worker_processes - #================================================= # ADD SWAP IF NEEDED #================================================= diff --git a/upgrade-versions.sh b/upgrade-versions.sh index b045eb3..9829b4d 100755 --- a/upgrade-versions.sh +++ b/upgrade-versions.sh @@ -128,9 +128,6 @@ EOS" sed -i "s/# gitlab_rails\['gitlab_shell_ssh_port'\] = 22/gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__/" $conf_file # Change puma settings - sed -i "s/# puma\['worker_processes'\] = .*/puma['worker_processes'] = __PUMA_WORKER_PROCESSES__/" $conf_file - sed -i "s/# puma\['min_threads'\] = .*/puma['min_threads'] = __PUMA_MIN_THREADS__/" $conf_file - sed -i "s/# puma\['max_threads'\] = .*/puma['max_threads'] = __PUMA_MAX_THREADS__/" $conf_file sed -i "s/# puma\['port'\] = .*/puma['port'] = __PORT_PUMA__/" $conf_file # Change sidekiq settings