Hi everyone,
To improve the performance of our Indico application, our operations team proposes the following changes to our uWSGI configuration:
- Change
harakiri
from 900 to 60 seconds to free up worker processes tied up by long requests.
- Set
threads = 2
to enable each worker process to handle multiple requests concurrently.
These adjustments aim to enhance resource utilization and application responsiveness.
Are there any side effects if we implement these changes? We need to ensure that all our libraries and dependencies support multi-threaded execution without issues.
Server specifications:
- RAM: 62 GB
- CPU cores: 62
- SSD hard disk
- Number of workers: 60
Enabling threading should be fine.
What about changing the harakiri
setting from 900 to 60 seconds?
Fine if you do not expect legitimate requests (e.g. file uploads) to take that long. I would rather try to find out what kind of requests take a long time though…
1 Like
Thank you!
Here is your updated uWSGI configuration with the changes applied:
[uwsgi]
uid = indico
gid = www-data
umask = 027
processes = 60
threads = 2
enable-threads = true
socket = 127.0.0.1:8008
stats = /opt/indico/web/uwsgi-stats.sock
protocol = uwsgi
master = true
auto-procname = true
procname-prefix-spaced = indico
disable-logging = true
single-interpreter = true
touch-reload = /opt/indico/web/indico.wsgi
wsgi-file = /opt/indico/web/indico.wsgi
virtualenv = /opt/indico/.venv
vacuum = true
buffer-size = 65535
memory-report = true
max-requests = 5000
harakiri = 60
harakiri-verbose = true
reload-on-rss = 8192
evil-reload-on-rss = 16384