bigbluebutton-Github/build/packages-template/bbb-webrtc-sfu/bbb-webrtc-sfu.service
prlanzarin ef7b1fb3e5 build: use FIFO scheduler in bbb-webrtc-sfu
bbb-webrtc-sfu (and mediasoup) are running in the CFS scheduler which
means it has to compete with (much) lower priority tasks like
presentation conversion, recording processing, [...]
Since it encompasses an RTC application which also handles audio, it
should be _at least_ on the same scheduling policy as FS/bbb-html5 - and
that should be safer now  with mediasoup which has a lower footprint
(and generates lower CPU noise overall).

This commit puts bbb-webrtc-sfu in the FIFO scheduling policy (same as
bbb-html5). Also bumps bbb-html5 nice level up to 18 and sets SFU to
nice 19 (so bbb-html5 has some advantage when push comes to shove).

This can be improved further by using per-process priorities in SFU.
Ideally we'd want mediasoup audio workers and mcs-core to be the same
priority as FS (so higher than bbb-html5), but the rest of them
(video/screen workers) to be the same or lower than bbb-html5. For
future reference:
  - https://github.com/bigbluebutton/bbb-webrtc-sfu/commit/3e245122dfa155ecb77b536eeadac1e4607cee
  - 66d443d204
2022-08-26 14:08:24 +00:00

21 lines
626 B
Desktop File

[Unit]
Description=BigBlueButton WebRTC SFU
Wants=redis-server.service
After=syslog.target network.target freeswitch.service kurento-media-server.service redis-server.service
PartOf=bigbluebutton.target
[Service]
WorkingDirectory=/usr/local/bigbluebutton/bbb-webrtc-sfu
ExecStart=/usr/bin/node server.js
Restart=always
SyslogIdentifier=bbb-webrtc-sfu
User=bigbluebutton
Group=bigbluebutton
Environment=NODE_ENV=production
Environment=NODE_CONFIG_DIR=/etc/bigbluebutton/bbb-webrtc-sfu/:/usr/local/bigbluebutton/bbb-webrtc-sfu/config/
CPUSchedulingPolicy=fifo
Nice=19
[Install]
WantedBy=multi-user.target bigbluebutton.target