From 206f4bf79f001131458c9dcdba9e4385ac12e50a Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Thu, 24 Nov 2022 18:29:05 +0100 Subject: [PATCH] copr-fe-dev: Decrease the number of wsgi processes/threads --- .../copr/frontend/templates/httpd/coprs.conf | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/roles/copr/frontend/templates/httpd/coprs.conf b/roles/copr/frontend/templates/httpd/coprs.conf index 0c33eb051d..4b81f4db7c 100644 --- a/roles/copr/frontend/templates/httpd/coprs.conf +++ b/roles/copr/frontend/templates/httpd/coprs.conf @@ -2,21 +2,29 @@ WSGISocketPrefix /var/run/wsgi Alias /robots.txt /var/www/html/robots.txt Alias "/db_dumps/" "/var/www/html/db_dumps/" -WSGIDaemonProcess 127.0.0.1 user=copr-fe group=copr-fe processes=4 threads=5 display-name=other maximum-requests=8000 graceful-timeout=20 restart-interval=300 -WSGIDaemonProcess api user=copr-fe group=copr-fe processes=2 threads=15 display-name=api maximum-requests=8000 graceful-timeout=20 -WSGIDaemonProcess api-memory-leak user=copr-fe group=copr-fe processes=2 threads=1 display-name=api-memory-leak maximum-requests=10 graceful-timeout=20 -WSGIDaemonProcess backend user=copr-fe group=copr-fe processes=2 threads=15 display-name=backend maximum-requests=8000 graceful-timeout=20 -WSGIDaemonProcess stats user=copr-fe group=copr-fe processes=2 threads=15 display-name=stats maximum-requests=8000 graceful-timeout=20 -WSGIDaemonProcess tmp user=copr-fe group=copr-fe processes=2 threads=15 display-name=tmp maximum-requests=8000 graceful-timeout=20 -WSGIDaemonProcess repo user=copr-fe group=copr-fe processes=2 threads=15 display-name=repo maximum-requests=8000 graceful-timeout=20 -WSGIDaemonProcess packages user=copr-fe group=copr-fe processes=2 threads=2 display-name=packages maximum-requests=10 request-timeout=60 -WSGIDaemonProcess builds user=copr-fe group=copr-fe processes=4 threads=2 display-name=builds maximum-requests=10 request-timeout=180 socket-timeout=120 +{%- macro develizer(processes, threads) %} +{% if devel %} +processes={{ processes }} threads={{ threads }} +{%- else %} +processes=1 threads={{ (threads/2) |int}} +{%- endif %} +{%- endmacro %} + +WSGIDaemonProcess 127.0.0.1 user=copr-fe group=copr-fe {{ develizer(4, 5) }} display-name=other maximum-requests=8000 graceful-timeout=20 restart-interval=300 +WSGIDaemonProcess api user=copr-fe group=copr-fe {{ develizer(2, 15) }} display-name=api maximum-requests=8000 graceful-timeout=20 +WSGIDaemonProcess api-memory-leak user=copr-fe group=copr-fe {{ develizer(2, 1) }} display-name=api-memory-leak maximum-requests=10 graceful-timeout=20 +WSGIDaemonProcess backend user=copr-fe group=copr-fe {{ develizer(2, 15) }} display-name=backend maximum-requests=8000 graceful-timeout=20 +WSGIDaemonProcess stats user=copr-fe group=copr-fe {{ develizer(2, 15) }} display-name=stats maximum-requests=8000 graceful-timeout=20 +WSGIDaemonProcess tmp user=copr-fe group=copr-fe {{ develizer(2, 15) }} display-name=tmp maximum-requests=8000 graceful-timeout=20 +WSGIDaemonProcess repo user=copr-fe group=copr-fe {{ develizer(2, 15) }} display-name=repo maximum-requests=8000 graceful-timeout=20 +WSGIDaemonProcess packages user=copr-fe group=copr-fe {{ develizer(2, 2) }} display-name=packages maximum-requests=10 request-timeout=60 +WSGIDaemonProcess builds user=copr-fe group=copr-fe {{ develizer(4, 2) }} display-name=builds maximum-requests=10 request-timeout=180 socket-timeout=120 # Separate process group just to easily observe what unnecessary trafic goes to # non-ssl routes. We should minimize traffic here. -WSGIDaemonProcess port80 user=copr-fe group=copr-fe processes=1 threads=3 display-name=port80 maximum-requests=100 graceful-timeout=10 +WSGIDaemonProcess port80 user=copr-fe group=copr-fe {{ develizer(1, 3) }} display-name=port80 maximum-requests=100 graceful-timeout=10 # Allow large/long uploads, https://pagure.io/copr/copr/issue/1228 -WSGIDaemonProcess upload user=copr-fe group=copr-fe processes=2 threads=10 display-name=upload maximum-requests=100 graceful-timeout=1800 +WSGIDaemonProcess upload user=copr-fe group=copr-fe {{ develizer(2, 10) }} display-name=upload maximum-requests=100 graceful-timeout=1800 WSGIScriptAlias / /usr/share/copr/coprs_frontend/application WSGIApplicationGroup %{GLOBAL}