We were looking for a way to group all of the active and inactive students from a period of time into one reporting course. That course would be using the subcourse modules to reporting the grades of these users for specific courses.
We had done a cohort previously that pulled in 8700+ students into a course. It was slow building but resolved and we've had no issues. We've also had a course with around 1800+ students using subcourse and certificates activities.
The cohort were were trying to create this time was over 12K. It tied up the system and slowed down the site for days. The explanation from the service providers was that it was too large of a process, prevented routine cron processes from completing, and generally gummed up the works. They would get the site working, then overnight processes would attempt and the site would not respond the next morning. I do think the situation was complicated by trying to delete the cohort from the course it had been associated with when we first had the slowdown.
I asked about the server setup including a question about the PHP memory limits and if that would help to be raised. No answer.
They referred to the issue as doing something experimental with untested plugins and unwise to do on a live server. To test processes out on a test server before trying a procedure. This was not testing something new or experimental. It was my understanding that if a Moodle site was properly supported, you should be able to do any routine tasks with however many users especially when you are using tools like the bulk user actions under site admin.
Bottom line - we were told to only do bulk enrollments of up to 1000 students just in case and that it could still take up to an hour to handle that action. What should I be looking at?