A faculty member reported to me that it was taking a very long time to use Moodle. Looking into it, it looks like the MyMoodle page makes a very large number of database queries, and it is causing the page load time to be very very high. For somone with only a few courses the load time is maybe a second or two, but for this instructor, who has close to 60 courses listed, the page time is a minute and a half, with over a 100 times the number of DB queries.
Has anyone else seen this? How has it been handled? I don't want to turn off the MyMoodle page, because it is so helpful for students, but I also can't really remove the instructor from all those courses.
Does anyone have any suggestions as to improving the performance, or of sorting out where these almost 100,000 DB queries are coming from?
Which version of Moodle are you running? I've seen the same thing with Moodle 1.9 but we have dropped use of myMoodle for Moodle 2 on OpenLearn. The rest of what I have to say is only guaranteed for 1.9, I'm not sure what, if anything, changed for 2.x.
The only thing you can do is to limit the display that instructors see on myMoodle or tell them not to use it. The system decides which courses to list on that screen through a capability check - so you could change the capability and make it list fewer (or no) courses. That's what we did. Or you could decide which data it is reporting (or checking) that doesn't matter to your instructors and find the functions which return that information and make them return nothing (they're usually called something like forum_print_overview).
This is with the 2.3 branch.
What I've done is brought back the limit of only showing 20 courses on the MyMoodle page, and using the Navigation or Current Courses blocks to access the full range of courses.
Does anyone know how to set the use of the MyMoodle page for some users and not others?
Well, until the core MyMoodle has'nt been changed yet, you could try this block - https://github.com/t6nis/moodle-block_viewizer
Its a block, which is based on the default MyMoodle, just a bit tweaked to load faster and couple of extras.
Just before using read the readme, if you encounter any problems, let me know.
I hope this helps a bit.