[uwsgi] # TODO: use uwsgi protocol instead http: -1 server proccess http = :8080 processes = {{ processes }} # idle - shutdown inactive workers after N idle seconds: -3 process idle = 900 offload-threads = {{ offload }} mimefile = /etc/mime.types check-static = custom/static/ check-static = common/static/ check-static = cmf/static/ check-static = dist/cmf-angular/ route = ^/socket.io/.* uwsgi:/tmp/soketio-eva-app.sock,0,0 # 8 часов * 100 пользователей + небольшой запас. По идее в будущем здесь ещё от SLA рулиться можно. max-requests = 3000000 # 8 часов: 8 * 3600 max-worker-lifetime = 28800 # страхуемся от утечек памяти за такое время # UPD 2023-04 Увеличиваем память, пока не фиксим - пишем в долг TEM-1625009337 # reload-on-rss = 512 reload-on-rss = 1200 # помираем чуть быстрее, всё равно зависли, наибольшая потенциальная проблема - потеря данных (не закоммитимся) worker-reload-mercy = 10 # по-умолчанию буфер 4096, увеличим чтобы избежать ошибок # invalid request block size: 4118 (max 4096)...skip buffer-size = 32768 # Лимит активных псевдо-потоков в евент-лупе gevent = 50