Univention Bugzilla – Bug 53055
Veyon performance with 4.4v9 with every second computer offline
Last modified: 2021-05-10 12:09:33 CEST
A customer reports that the computer room module in 4.4v9 has become unusably slow. It takes "up to a minute" to even select something in the "Select Computer Room" dialog. Then, once you've managed to select a room, the UMC leisurely goes through "one computer per second" to check the online status. If one wants to look at the desktop of a computer, it takes "15 seconds" until the preview image appears. etc etc.... This currently only happens when Veyon is used. In the test environment, 7 out of 19 computers in the classroom are turned on (note: not an unusual scenario!). Some timings: - Selecting a room: up to 1 minute for the dropdown box to fill with rooms. - Building the computer list after selecting the room: 10 seconds. - Displaying the online status of the computers: 20-30 seconds - Displaying the logged in user: 20 seconds AFTER displaying the online status - Displaying the screenshot of a computer: 30 seconds This is a kind of "prohibitive waiting period." As long as you don't use Veyon, there doesn't seem to be any performance issues even with v9.
*** Bug 53024 has been marked as a duplicate of this bug. ***
We made a rather crude mistake by using the python notifier framework to realize the updating of data from Veyon. notifier is not threaded, but async and thus the implemented way is very slow as observed. We changed the updating of data from Veyon to a threaded model, which significantly increased performance. We also implemented the UCRV ucsschool/umc/computerroom/ping-client-ip-addresses for the veyon backend to handle the ping problem. Changes implemented on oschwieg/4.4/53055
Another important change was done: After we fixed the problems in our code, we realized that with a computer room of a certain size >10PCs on or off, the Computerroom would break eventually. That is due to a setting in the Veyon Proxy App that restricts the amount of concurrent connections to the service to 10 by default. We now create a config file in /et/ucsschool-veyon/config.json and mount that into the docker container (Veyon Proxy App 1.1). (Happens in ucs-school-veyon-windows). That means for a fully functional computer room with Veyon the app and ucs@school need to be updated. QA, please test the following scenarios: - Veyon App is updated to 1.1 and after that the new ucs-school-veyon-windows package is updated - First the package is updated and then the Veyon app. In both cases the conf.json should be available in the container as /etc/veyon/config.json (you can ignore the other files in the directory) and the Computer room should be able to handle tens of computers in one room without problems.
Package: ucs-school-umc-computerroom Version: 11.0.0-29A~4.4.0.202104300918 Branch: ucs_4.4-0 Scope: ucs-school-4.4 Package: ucs-school-veyon-client Version: 1.0.1-7A~4.4.0.202104300920 Branch: ucs_4.4-0 Scope: ucs-school-4.4 And Veyon Proxy App 1.1
[4.4] 1365b9627 Bug #53055: Fix LoType import [4.4] 3c1b61b5f Bug #53055: Implement threading VeyonComputer [4.4] c2516a46d Bug #53055: Performance improvement for ping and initial start [4.4] afde4282b Bug #53055: Merge branch 'oschwieg/4.4/53055' into 4.4 [4.4] d124c4930 Bug #53055: Fix build problem [4.4] 583e70531 Bug #53055: Fix logging problem [4.4] cc55f2bfd Bug #53055: Add advisories ucs-school-umc-computerroom (11.0.0-30)
OK: code review OK: automatic tests in Jenkins (not specifically for this bug, but generally regarding the computerroom) OK: manual test: multiple computer rooms with multiple computers that are offline created a long waiting time with the previous version, but in the new version everything is fast OK: advisories
[4.4] 703532bef Bug #53055: fix and rename tests Package: ucs-test-ucsschool Version: 6.0.220A~4.4.0.202105041221 Branch: ucs_4.4-0 Scope: ucs-school-4.4
Errata updates for UCS@school 4.4 v9 have been released. https://docs.software-univention.de/changelog-ucsschool-4.4v9-de.html If this error occurs again, please clone this bug.
Has not been released to appcenter repository.