Bug 53055 - Veyon performance with 4.4v9 with every second computer offline
Veyon performance with 4.4v9 with every second computer offline
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Veyon
UCS@school 4.4
Other Linux
: P5 normal (vote)
: UCS@school 4.4 v9-errata
Assigned To: Ole Schwiegert
Daniel Tröder
:
: 53024 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2021-04-12 08:58 CEST by Sönke Schwardt-Krummrich
Modified: 2021-05-10 12:09 CEST (History)
6 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.171
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2021-04-12 08:58:49 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.
Comment 1 Nico Gulden univentionstaff 2021-04-14 12:26:57 CEST
*** Bug 53024 has been marked as a duplicate of this bug. ***
Comment 3 Ole Schwiegert univentionstaff 2021-04-27 15:02:51 CEST
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
Comment 4 Ole Schwiegert univentionstaff 2021-04-28 13:35:23 CEST
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.
Comment 5 Ole Schwiegert univentionstaff 2021-04-30 09:39:21 CEST
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
Comment 6 Daniel Tröder univentionstaff 2021-05-03 13:55:44 CEST
[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)
Comment 7 Daniel Tröder univentionstaff 2021-05-03 13:59:29 CEST
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
Comment 8 Tobias Wenzel univentionstaff 2021-05-04 12:22:27 CEST
[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
Comment 9 Tobias Wenzel univentionstaff 2021-05-06 14:12:18 CEST
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.
Comment 10 Daniel Tröder univentionstaff 2021-05-10 11:03:14 CEST
Has not been released to appcenter repository.
Comment 11 Tobias Wenzel univentionstaff 2021-05-10 12:09:33 CEST
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.