====== performance ====== ===== pgsql vacuum ===== su - postgres "/usr/lib/postgresql/15/bin/vacuumdb" -p 45432 --all --analyze-in-stages "/usr/lib/postgresql/15/bin/vacuumdb" -p 45432 --all -v ===== Default options ===== Default configuration: [[https://www.openproject.org/docs/installation-and-operations/configuration/#web-worker-configuration|Web worker configuration]]: OPENPROJECT_WEB_WORKERS="2" OPENPROJECT_WEB_TIMEOUT="60" OPENPROJECT_WEB_WAIT__TIMEOUT="10" OPENPROJECT_WEB_MIN__THREADS="4" OPENPROJECT_WEB_MAX__THREADS="16" [[https://www.openproject.org/docs/installation-and-operations/system-requirements/#scaling-requirements]] 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://www.openproject.org/docs/installation-and-operations/operation/control/#scaling-the-number-of-web-workers|Scaling the number of web workers]] openproject config:set OPENPROJECT_WEB_WORKERS=4 openproject configure # or openproject restart web ===== Minimize memory ===== Run Puma in single-mode (workers = 0) in order to reduce memory overhead. export OPENPROJECT_WEB_WORKERS="0" export OPENPROJECT_WEB_MIN__THREADS="2" export OPENPROJECT_WEB_MAX__THREADS="4" # Settings this by env also works: #expprt RAILS_MIN_THREADS="2" #export RAILS_MAX_THREADS="4" openproject configure # or openproject restart web ===== diagnose ===== journalctl -u openproject journalctl -u openproject-web-1 openproject config:set OPENPROJECT_WEB_TIMEOUT="300" openproject restart web