I was wondering if anyone here had encountered performance problems with the Moodle assignment tool?
For example you occasionally see posts like "I had a quiz with 300 students, and a half-hour time-limit, and when time expired, and all the student's quiz attempts got submitted, my server crashed."
Does stuff like that happen with the assignment tool? I don't recall seeing a post like that, but a Google search does not find much.
I also searched in the tracker (https://tracker.moodle.org/issues/?jql=component%20%3D%20Assignment%20AND%20component%20%3D%20Performance) finds a few issues, most of which have been fixed.
I guess I am hoping someone can say something like "we had an assignment where 1000 students all had to submit a 10MB file by 18:00pm one Friday afternoon. Most of them left it to the last minute, and still we did not experience any problems".
Also, has anyone got a script (e.g. JMeter) for load-testing mod-assign?
Thanks in advance.
While we rarely have single classes with more than a few hundred students, we've never see load problems with mod_assign, and it is very popular here.
From my knowledge of the internals of assign, the submission process is much more lightweight than, say quiz, or anything that uses the question engine, so I wouldn't expect performance issues - as long as you have the bandwidth to handle however many incoming concurrent uploads.
My largest classes never had more than 16 students. They regularly would all try to upload (from 1 to 10 MB depending on assignment) at the last minute just as a classroom session ended on the day an assignment was due. My first couple of servers were old cast off desktops so we tested by deliberately trying to click submit at the same time just to see what problems we might have. Also did the same when I installed a "good" server. The ONLY time we ever had any problems it was caused by modsecurity not liking something about the file, maybe 1 file out of 5 classes on any given assignment. With modsecurity turned off temporarily when uploading, we never had an upload failure. Then it was just wait for the delay caused by everyone sharing the 10 Mbps pipeline going to the server at my house.
We've had several hundred students all submitting at the last minute and no issues.
I'm not massively familiar with the code but I don't think it's doing very much when the students submit.
To make matters worse, we also have plagiarism processing enabled and it doesn't seem to add to the distress at all. It's not something I worry about.
Thanks to everyone for your feedback.
Just an update on this. We did a test with about 40 people each submitting 10 assignments within a half-hour period on our test server which does not have very much hardware (two web servers each with 2 CPUs). Each assignment file was about 10MB.
Moodle coped very well apart from one thing. Uploading files was slow, because after each file had been sent to the server, there was a long wait while ClamAV ran. You could see this in the file-picker. If you dragged in a file, the green progress bar would get to 100% quite quickly, but there would then be a ~1minute delay before the upload completed and the file was shown if the file manager.
Obviously, MDL-50886 is going to help with this. (Thanks Ruslan and Lancaster University.)
Also, it would be nice to have some sort of 'Virus checking' progress message after the progress bar has got to 100% so people know what is going on.
If anyone else has any thoughts about this, please let me know. Thanks.