I hope this is the right place to ask these questions. If not, please feel free to move this entry to the appropriate section. I've read the performance FAQ but I'm afraid I lack the technical understanding to answer the questions myself.
I am a student at an german university that heavily relies on moodle, especially for course-registration.
Registration-days are, to put it mildly, absolutely disastrous. Here is how it works:
- There is a moodle-room called "course-registration for semester xy"
- enrollment is done by poll
- Link to the poll for specific courses is unlocked at certain day/time
- registration is staggered like this:
Modul 16 - 22.09.2020 ab 17.00 Uhr
Modul 4 - 22.09.2020 ab 18.00 Uhr
Modul 6-2 - 22.09.2020 ab 19.00 Uhr
Modul 6-1 - 22.09.2020 ab 19.30 Uhr
Modul 7 - 22.09.2020 ab 20.00 Uhr
Modul 8 - 23.09.2020 ab 17.00 Uhr
Modul 11-1 - 23.09.2020 ab 18.00 Uhr
Modul 22 - 23.09.2020 ab 19.00 Uhr
Modul 9 - 24.09.2020 ab 16.00 Uhr
Modul 10 - 24.09.2020 ab 17.00 Uhr
Modul 18 - 24.09.2020 ab 18.00 Uhr
Modul 19 - 24.09.2020 ab 19.00 Uhr
Modul 12 - 25.09.2020 ab 16.00 Uhr
Modul 13 - 25.09.2020 ab 17.00 Uhr
Modul 14 - 25.09.2020 ab 18.00 Uhr
Modul 15 - 25.09.2020 ab 19.00 Uhr
Modul 20 - 25.09.2020 ab 20.00 Uhr
Currently there are ~15k students enrolled across ~ 30 faculties. The above schedule is from the biggest faculty, by far. So worst case scenario (highly unlikely imo) there are 15k simultanious server requests when registration links unlock. [I would generously guesstimate more like 5000 simultanious requests = 15k students divided by 30 faculties, multiplied by 10]. AFAIK moodle is hosted on a server on campus.
Issues: Login to moodle takes forever. Server can't handle the load when links unlock (constant 503) -so everybody refreshes until they "get a spot". Which can take between 15 seconds and 5 minutes, by that time the course you've tried to register for is likely already full. Or you get an "enrolled" message, but are not actually enrolled when checking the poll results...(I'm doing this from a 100 Mbit cable line with a 8ms Ping and Jitter 1 to DEAC, but you run into the same issues if you're logged in to the campus network, during registration you can't even ping the university server, 100% packet loss). So course registration becomes complete luck...which is very frustrating to say the least.
Now the university is blaming the students for this, claiming that people who log in with multiple devices "clog up the server"... And they claim that there is nothing they can do to change the contstant server overload on registration days.
Am I right in assuming this is an rediculous excuse? Isn't it more likely that the university is too cheap to provide the appropiate ressources needed to handle this load? Or is moodle badly implemented/administrated on the server? Is the Poll-feature even the appropiate way to do course-registration via moodle?
Is this an issue with scaling in the moodle software or an issue in providing the appropriate ressources?
What would be the requirements to run moodle smoothly for this task?
Is this even possible on an on-campus server?
Would it be an easy/cheap solution to host moodle on e.g. AWS compared to running it on an on-campus server?
The reason I came here with these questions is that I would like an expert opinion I can point to - and who better to ask than the developer community itself. I find it highly offensive that the university is blaming the students for this, and is claiming they can't do anything about it (this has been an ongoing issue for years now).
I'm by no means an expert in these matters, but I think I know enough to ask at least reasonable questions. Thanks in advance for anybody who is willing to help
tl;dr University is blaming Students for constant 503 on course-registration days; says theres nothing they can do about it. Is this an excuse to hide unwillingness to pay for ressources / incompetence?