meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:sw:openproject:performance [2024/09/04 11:22] niziaklinux:sw:openproject:performance [2025/08/05 12:00] (current) niziak
Line 1: Line 1:
 ====== performance ====== ====== performance ======
 +
 +===== pgsql vacuum =====
 +
 +<code bash>
 +su - postgres
 +"/usr/lib/postgresql/15/bin/vacuumdb" -p 45432 --all --analyze-in-stages
 +"/usr/lib/postgresql/15/bin/vacuumdb" -p 45432 --all -v
 +</code>
 +
 +
 +===== Default options =====
 +
  
 Default configuration: [[https://www.openproject.org/docs/installation-and-operations/configuration/#web-worker-configuration|Web worker configuration]]: Default configuration: [[https://www.openproject.org/docs/installation-and-operations/configuration/#web-worker-configuration|Web worker configuration]]:
Line 10: Line 22:
 </code> </code>
  
 +[[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]] [[https://www.openproject.org/docs/installation-and-operations/operation/control/#scaling-the-number-of-web-workers|Scaling the number of web workers]]
  
Line 15: Line 31:
 openproject config:set OPENPROJECT_WEB_WORKERS=4 openproject config:set OPENPROJECT_WEB_WORKERS=4
 openproject configure openproject configure
-of+or 
 +openproject restart web 
 +</code> 
 + 
 +===== Minimize memory ===== 
 + 
 +Run Puma in single-mode (workers = 0) in order to reduce memory overhead. 
 + 
 +<file bash /etc/openproject/conf.d/other> 
 +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" 
 +</file> 
 + 
 +<code bash> 
 +openproject configure 
 +# or
 openproject restart web openproject restart web
 </code> </code>
Line 24: Line 59:
 journalctl -u openproject journalctl -u openproject
 journalctl -u openproject-web-1 journalctl -u openproject-web-1
 +</code>
 +
 +<code bash>
 +openproject config:set OPENPROJECT_WEB_TIMEOUT="300"
 +openproject restart web
 </code> </code>