Appalachian’s adventures migrating from Moodle 1.9 to 2.5…
and the infrastructure needed to support it.
Appalachian has been using Moodle (branded AsULearn) as the
base campus LMS since 2007. We run Moodle with several custom
mods and integration with other campus services
(Panopto, Collaborate, Mahara, LASSO).
Learning Technology Services, provides end-user support and
application development services for AsULearn.
Central ITS provides server and database administration services.
Increased usage: AsULearn traffic has increased steadily over the
last 5 years, with a current monthly visit rate of 811,195.
Supporting around 20,000 active users in 3,200 courses.
The 1.9 hardware was not easily scalable to handle increased
Database size increasing (currently 90GB)
Moodle 1.9 was going to reach it’s end of life date in December
New features in Moodle 2 were appealing to end-users.
Drag and drop file uploading
Integrated file repositories
More mobile friendly
Improved quiz engine
Moodle 2.3 was piloted in Spring 2012 to a select group of faculty.
Created all courses in 2.5 for Fall 2013 semester.
Run Moodle 1.9 in parallel to 2.5 through Fall 2013. This requires
two instances, both receiving course and enrollment information
from Banner via LDI.
Move the application code to a load balanced VM server farm to
accommodate increased usage.
Re-architect internally developed features:
Shibboleth UNC federation
LMB enrollment mod
User enrollment plugin
AsULearn had been running on a hardware machine with a failover
system for 5 years, during peak usage the servers were reaching
Moodle 2.x is much more expensive to run. On average Moodle 2.3
required more RAM, 2x the CPU power, and makes 2x more
database calls than 1.9.
A new load balanced VM farm was created using VMWare
F5 load balancers were installed in a newly created VLAN.
Separate MySQL Enterprise database
Memcached and PHP accelerator (APC) were put in place and
significantly increased application performance.
LoadStorm was used for load testing.
Testing with a typical user scenario: login -> view course ->
download image -> post to forum -> logout.
A 10 machine server farm was used for all tests.
Significant performance degradation (page load time over 2
seconds) was not seen until a system peak usage of 2200
concurrent users was reached.
AsULearn peak performance has never been above 500 concurrent
users based on our analytics.
Using the results we were able to tune the application and
database systems to achieve greater performance.
Moodle HQ did not provide a decent upgrade path from 1.9 to 2.5.
Faculty, with LOTS of help, were required to backup/restore their courses
using the simple restore 3rd party (LSU) block.
1.9 assignments do not upgrade cleanly to 2.5, admin has to run separate
assignment upgrade tool.
User data could not be moved forward from 1.9 to 2.5.
The migration of non-academic courses (or courses that required user
data) was an arduous process:
Restore 1.9 backups to a separate 1.9 instance
Upgrade 1.9 database to 2.2
Upgrade 2.2 database to 2.5
Backup course in dev instance (now at 2.5 release) and restore to production
Repeat as necessary
AsULearn Course Reboot: Book Tool and Pages
AsULearnV2 - Moving to the New Version
AsULearn2- Learning it Online
AsULearnDrop-In Sessions for Questions
Metacourses in AsULearnV2 Webinar
Transitioning to AsULearn V2
What's New in AsULearn
Most popular new features:
Drag and drop for adding files
Integration with 3rd party repositories (Google docs, Dropbox, etc)
Quickmail block makes emailing specific participants easier
Improved quiz engine, easier to accommodate special need students
Improved grading options
Mobile friendly interface
Conditional based availability for activities and course sections
Students found it difficult to manage courses in both instances.
Many of the initial problems reported were resolved by clearing
2 weeks into semester, 75 – 80% of traffic was in V2
Supporting two versions of the
LMS has been a nightmare.
Backup/restore from 1.9 has
proven to be problematic.
Using NFS for moodledata,
Course backups still taking large
amount of server space, cron
Moodle sessions in database
System has performed well under
real user load.
Load testing proved invaluable,
many problems were discovered
before going live.
VMWare templates allow for
expedited node deployment.
MUC introduced in 2.4
Faculty development, support
Lacey Vickery (application developer)
Fred Woolard (lead application developer)
Steve Breiner (Director Learning Technology
Jeremy Wallace (database administrator)