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 [2025/01/16 11:59] niziaklinux:sw:openproject:performance [2025/09/09 19:02] (current) niziak
Line 1: Line 1:
 ====== performance ====== ====== performance ======
 +
 +===== jemalloc =====
 +
 +<code bash>
 +apt install libjemalloc2
 +mkdir /etc/systemd/system/openproject-web-1.service.d
 +mkdir /etc/systemd/system/openproject-worker-1.service.d
 +
 +cat - /etc/systemd/system/openproject-worker-1.service.d/jemalloc.conf <<END
 +[Service]
 +Environment=LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
 +END
 +
 +cp /etc/systemd/system/openproject-worker-1.service.d/jemalloc.conf /etc/systemd/system/openproject-web-1.service.d/jemalloc.conf
 +
 +systemctl stop openproject
 +systemctl daemon-reload
 +systemctl start openproject
 +
 +</code>
  
 ===== pgsql vacuum ===== ===== pgsql vacuum =====
Line 10: Line 30:
  
  
-===== Headline =====+===== Default options =====
  
  
Line 22: Line 42:
 </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]]
  
 <code bash> <code bash>
 openproject config:set OPENPROJECT_WEB_WORKERS=4 openproject config:set OPENPROJECT_WEB_WORKERS=4
 +openproject configure
 +# 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 openproject configure
 # or # or