I recently got a dedicated server to host moodle. It is pretty much exclusively being used for SCORM. Following are the problems:
1. Moodle site itself is slow!
2. SCORMs load really slow as well!
OS: Fedora Core
Processor: Celeron 1.7 GHz
Memory: 1 GB DDR
Hard Drive 1: 80 Gigabyte IDE (7200 RPM)
SCORMs are generated from Articulate.
The number of users are 3-4 right now and already complains. These are going to grow quite a bit (40-60).
The hosting service already tweaked PHP and MySQL for me.
free -m command shows on 40 MB of RAM left unused.
I am willing to upgrade but to what?
Are there any moodle specific tweaks?
Could you provide some more detail on the following? This will assist in finding a solution to your performance issue:
- How many users total?
- How many courses?
- How many requests/second or concurrent users?
- What moodle version are you running?
- How many seconds does it take to load a moodle page?
Unless you are running a small site, 1GB of RAM may not be adequate. There are far fewer performance tweaks Apache, PHP, and MySQL can take advantage of when running on that amount of RAM.
There are about five or six users. They are going to grow to 60 total after our soft launch is over. next week.
How many courses?
3 courses for now. This can go upto ten or twelve (all scorms)
How many requests/second or concurrent users?
I can't give you an exact answer, but five people would be online maximum right now, later it can be ten to 15.
What moodle version are you running?
How many seconds does it take to load a moodle page?
How can i check this? i went to the login site entered my login passwd and started counting one 1000, two 1000 ... It counted 10 till the page loaded.
Also I don't understand "you don't run SCORM content on moodle instance" is there another way?
Thanks for the help i am kind of desperate right now.
> How can i check this? i went to the login site entered my login passwd and started counting one 1000, two 1000 ... It counted 10 till the page loaded.
In addition to that, In version 1.8 at least, you can see how long the server takes to build the page:
Go to admin/server/debugging from the menu and select the following:
This will output processing time at the bottom of your page.
Without knowing how SCORMS are connected to Moodle or what Articulate is, I can't say whether your current load is heavy or not.
I would first watch the trivial signs:
- do a fresh boot and follow the memory usage. Does is jump once the SCORMS come into action? Does the machine swap?
- monitor the CPU usage. Does it go over 90%? What are the programms?
The next thing is to run the Moodle-specific benchmark as decussed here: http://moodle.org/mod/forum/discuss.php?d=57028
Try taking your Moodle right back to basics, and hide all blocks and modules, and see if that speeds it up - Moodle itself might be okay, but there may be a block or something which is slow to load or which hangs for some reason. If Moodle starts to run fast you can then re-introduce the blocks and other items one at a time until it starts running slow again, which will tell you which is the culprit.
Also try changing your theme to the 'standard' Moodle theme - I had a problem recently with one of our Moodles taking 20-30 seconds to load pages, and I traced it to the theme, which was trying to launch cron jobs when it displayed the page header and was being blocked, causing it to hang for a long time. When I took out the block of code which ran the cron jobs I immediately started to get <2 second page loads.
There are a few bottlenecks that could be causing this slowdown (this post assumes your server is running Linux). Here are just a sample of the big ones that we've encountered:
- Network congestion: if Jez H's suggestion of using admin/server/debugging shows that your pages are processing quickly, yet displaying slowly in your browser, this indicates some sort of network delay between your machine and the server.
- CPU contention: run 'top' on your server to get an idea of cpu usage while trying to load pages. If CPU usage is high, check out which process is using the most %CPU (could be httpd, mysqld, etc...). This will indicate which process is consuming CPU, taking you one step closer to resolving the issue.
- High load: if your CPU usage is low, yet your "load average" in top is high (over 1.50), then this indicates your server might be I/O constrained from some device (hard drive, networked file system, etc...).
- Non-optimal configuration: I would check how your hosting provider configured MySQL, Apache, and PHP (my.cnf, httpd.conf, and php.ini respectively). If you continue to experience delays and the posted suggestions do not identify the source of the delay, you may want to post these three configuration files for other moodlers to analyze & comment on.
"Also I don't understand "you don't run SCORM content on moodle instance" is there another way?"
What I meant by my comment is that in my moodle instance, I do not have SCORM content and am not familiar with SCORM.
I hope this information is helpful!