Univention Bugzilla – Bug 52293
Scale UMC performance by starting multiple UMC instances
Last modified: 2020-12-16 16:03:32 CET
The UMC (web) server is a Python process with a single-thread main loop, so not much more than one CPU core can be used by this process. To scale better in very large environments with many requests, the UMC processes should be started multiple times to be able to use multiple CPU cores.
Added to backlog: https://taiga.knut.univention.de/project/oschwieg-ucs-5/us/3817
The UMC-Web-Server can now be configured to start multiple processes via the UCR variable umc/http/processes. This creates several systemd services which depend on the UMC-Webserver service. systemctl restart apache2 univention-management-console-web-server is necessary then. A load balancer in apache makes sure that each session is connected to the same UMC-Webserver instance. The portal server has been adjusted to forward all cookies and makes requests against the apache interface (with localhost, so that the apache2/force_https is ommited) instead of the UMC-Webserver Port. univention-portal.yaml 47ddb0d92308 | Bug #52293: Merge branch 'fbest/umc-performance' into 4.4-7 548722752eab | YAML Bug #52371, Bug #52443, Bug #52442, Bug #52444, Bug #52293, Bug #52272 univention-portal (3.0.2-15) 47ddb0d92308 | Bug #52293: Merge branch 'fbest/umc-performance' into 4.4-7 e1bf5ef33b0d | Bug #52293: get session info from Apache instead of UMC-Webserver directly univention-management-console.yaml 47ddb0d92308 | Bug #52293: Merge branch 'fbest/umc-performance' into 4.4-7 548722752eab | YAML Bug #52371, Bug #52443, Bug #52442, Bug #52444, Bug #52293, Bug #52272 univention-management-console (11.0.5-24) 47ddb0d92308 | Bug #52293: Merge branch 'fbest/umc-performance' into 4.4-7 d96d959b7b8a | Bug #52293: make starting UMC-Webserver with multiple processes possible c6a24a327a42 | Bug #52293: make UMC-Server backlog configurable
What I tested: Upgrade -> OK Login -> OK Login SAML -> OK users/user -> OK portal login -> OK portal edit -> OK jenkins -> OK Setting "umc/http/processes=5" -> 5 umc processes -> OK Apache load balancer cookie -> OK systemctl restart univention-management-console-web-server.service -> restarts target and dependencies -> OK Merge 5.0 -> OK YAML -> OK
<https://errata.software-univention.de/#/?erratum=4.4x843> <https://errata.software-univention.de/#/?erratum=4.4x848>