meta data for this page
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| linux:sw:openproject:performance [2024/08/20 07:49] – created niziak | linux:sw:openproject:performance [2025/09/09 19:02] (current) – niziak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== performance ====== | ====== performance ====== | ||
| + | |||
| + | ===== jemalloc ===== | ||
| + | |||
| + | <code bash> | ||
| + | apt install libjemalloc2 | ||
| + | mkdir / | ||
| + | mkdir / | ||
| + | |||
| + | cat - / | ||
| + | [Service] | ||
| + | Environment=LD_PRELOAD=/ | ||
| + | END | ||
| + | |||
| + | cp / | ||
| + | |||
| + | systemctl stop openproject | ||
| + | systemctl daemon-reload | ||
| + | systemctl start openproject | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== pgsql vacuum ===== | ||
| + | |||
| + | <code bash> | ||
| + | su - postgres | ||
| + | "/ | ||
| + | "/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Default options ===== | ||
| + | |||
| Default configuration: | Default configuration: | ||
| Line 10: | Line 42: | ||
| </ | </ | ||
| + | [[https:// | ||
| + | |||
| + | Mind, even just for 5 users we do recommend 2 web workers as each page may require multiple requests to be made simultaneously. Having just one will work, but pages may take longer to finish loading. | ||
| + | | ||
| [[https:// | [[https:// | ||
| Line 15: | Line 51: | ||
| openproject config:set OPENPROJECT_WEB_WORKERS=4 | openproject config:set OPENPROJECT_WEB_WORKERS=4 | ||
| openproject configure | openproject configure | ||
| - | # of | + | # or |
| + | openproject restart web | ||
| + | </ | ||
| + | |||
| + | ===== Minimize memory ===== | ||
| + | |||
| + | Run Puma in single-mode (workers = 0) in order to reduce memory overhead. | ||
| + | |||
| + | <file bash / | ||
| + | export OPENPROJECT_WEB_WORKERS=" | ||
| + | export OPENPROJECT_WEB_MIN__THREADS=" | ||
| + | export OPENPROJECT_WEB_MAX__THREADS=" | ||
| + | # Settings this by env also works: | ||
| + | #expprt RAILS_MIN_THREADS=" | ||
| + | #export RAILS_MAX_THREADS=" | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | openproject configure | ||
| + | # or | ||
| + | openproject restart web | ||
| + | </ | ||
| + | |||
| + | ===== diagnose ===== | ||
| + | |||
| + | <code bash> | ||
| + | journalctl -u openproject | ||
| + | journalctl -u openproject-web-1 | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | openproject config:set OPENPROJECT_WEB_TIMEOUT=" | ||
| openproject restart web | openproject restart web | ||
| </ | </ | ||