From a0e1ec05892ddb2d60f52fe4ea29967fcfafe100 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 11 Jan 2023 14:28:00 +0100 Subject: [PATCH] increase production uwsgi performance --- app/wsgi.ini | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/wsgi.ini b/app/wsgi.ini index 55db2600..374f1694 100644 --- a/app/wsgi.ini +++ b/app/wsgi.ini @@ -17,21 +17,33 @@ single-interpreter = true die-on-term = true ; Shutdown when receiving SIGTERM (default is respawn) need-app = true -disable-logging = true ; Disable built-in logging +# Close fds on fork (don't allow subprocess to mess with parent's fds) +close-on-exec = true +close-on-exec2 = true + + +disable-logging = false ; Disable built-in logging log-4xx = true ; but log 4xx's anyway log-5xx = true ; and 5xx's +logger = file:/var/log/app/app.log -harakiri = 300 ; forcefully kill workers after 60 seconds -#py-callos-afterfork = true ; allow workers to trap signals +harakiri = 300 ; forcefully kill workers after 60 seconds +#py-callos-afterfork = true ; allow workers to trap signals max-requests = 20000 ; Restart workers after this many requests max-worker-lifetime = 18000 ; Restart workers after this many seconds reload-on-rss = 4096 ; Restart workers after this much resident memory -worker-reload-mercy = 300 ; How long to wait before forcefully killing workers +worker-reload-mercy = 60 ; How long to wait before forcefully killing workers + +# We don't expect abuse so lets have fastest respawn possible +forkbomb-delay = 0 + +# Enable an accept mutex for a more balanced worker load +thunder-lock = true cheaper-algo = busyness -processes = 64 ; Maximum number of workers allowed -threads = 30 +processes = 128 ; Maximum number of workers allowed +#threads = 2 cheaper = 24 ; Minimum number of workers allowed cheaper-initial = 24 ; Workers created at startup cheaper-overload = 1 ; Length of a cycle in seconds -- 2.39.5