Moodle often becomes a core system for training and education. When Moodle goes down, learning stops, assignments pile up, and support tickets spike. This article explains uptime levels such as 95%-99.99%. It also explains the steps that raise uptime in Moodle, with clear notes about LAMP based stacks and Windows based stacks.
I recently migrated my site to Mindfield from another host, and the experience couldn’t have been better. Mindfield kept working until they were certain that my site was operating as well as it was before, and they even helped clean up a few issues to improve my site’s performance – issues my prior host never mentioned. I also found Mindfield’s communication to be excellent. Before the migration, they prepared me for what to expect, and during the migration they kept me well-informed. No small feat considering that changing hosts is inherently stressful! They also provided clear and concise explanations when required. I’d highly recommend Mindfield if you’re looking for an IT consultant, developer, or host.
Jim Benedek
Owner, Student First Media Inc.
review Source: Google Reviews
Outline
-
-
What Uptime Means for Moodle
-
Uptime Levels and Allowed Downtime
-
Impact of Downtime and Value of Uptime
-
Picking the Right Uptime Target for Your Customer
-
Uptime Tiers and How to Achieve Them in Moodle
-
LAMP Based Stack vs Windows Based Stack
-
Practical Checklist to Improve Uptime in Moodle
-
Summary: Uptime Tier at a Glance
-
How Moodle Experts Help Improve and Manage Uptime
-
Frequently Asked Questions (FAQs)
-
What Uptime Means for Moodle

Uptime is the percentage of time Moodle is available and working as expected. A site is “up” when users can log in, open courses, load activities, and submit work without system errors or timeouts.
When you pick an uptime target, you are making a business decision. Higher uptime requires stronger design and stronger daily operations.
Uptime Levels and Allowed Downtime

The higher the percentage, the less downtime you can afford. Even “one more nine” makes the monthly downtime much smaller.
| Target uptime | Max downtime per month (30 days) | Max downtime per year (365 days) |
|---|---|---|
| 90% | 72 hours | 36.5 days |
| 95% | 36 hours | 18.25 days |
| 99.0% | 7 hours 12 minutes | 3.65 days |
| 99.9% | 43 minutes 12 seconds | 8 hours 45 minutes 36 seconds |
| 99.99% | 4 minutes 19 seconds | 52 minutes 34 seconds |
Impact of Downtime and Value of Uptime

Impact of downtime
| Area | What users experience | Business impact |
|---|---|---|
| Learners | Login failures, slow pages, quiz errors, uploads fail | Lost learning time, missed deadlines, frustration |
| Instructors | Gradebook unavailable, activities do not save, course edits blocked | Rework, delays, reduced confidence in the platform |
| Support and IT | Ticket flood, manual troubleshooting, urgent restores | Overtime, disrupted roadmap, higher operational costs |
| Leadership and compliance | SLA breaches, audit concerns, training interruptions | Reputation damage, renewal risk, contract penalties |
Benefits of higher uptime
| Improvement | Operational benefit | User and business benefit |
|---|---|---|
| Fewer outages | Less emergency work and fewer night and weekend incidents | Higher trust and steadier usage |
| Faster recovery | Clear restore and failover steps reduce time to restore service | Less disruption during critical learning events |
| More predictable changes | Safer upgrades and deployments with rollback plans | Fewer post upgrade surprises |
| Better performance at peak times | Capacity planning reduces slowdowns during exams and deadlines | Higher completion rates and fewer failed submissions |
Common causes of downtime in Moodle
| Cause | How it shows up | Practical prevention |
|---|---|---|
| Too much load | Slow pages, timeouts, quiz submissions fail at peak times | Load testing, caching, stronger database tuning, more web capacity |
| Database issues | Errors across the site, slow gradebook and reports, login problems | Database monitoring, backups, replication, planned failover approach |
| Storage problems | File uploads fail, course files do not load, site becomes slow | Separate storage planning for moodledata, track disk usage, clear old files |
| Bad changes | Errors right after a plugin install or upgrade | Staging environment, change control, rollback plan, plugin governance |
| Cron and background tasks fail | Emails stop, grades and completions lag, queues build up | Reliable scheduling, monitoring for overdue tasks, dedicate cron runner |
| External dependencies fail | SSO login failures, LTI tool failures, email delivery stops | Monitor dependencies, set integration timeouts, define backup access plan |
Picking the Right Uptime Target for Your Customer

Most organizations set uptime to match the cost of downtime. A training team running optional learning has different needs than an organization delivering high stakes exams.
| Customer type | Recommended target | Why this fits |
|---|---|---|
| Pilot, proof of concept, sandbox | 90% to 95% | Low business risk, focus on fast setup and learning what users need |
| Small training provider, internal department use | 95% to 99.0% | Downtime causes disruption, but budget and complexity remain limited |
| Schools, mid size organizations, growing usage | 99.0% | Good balance of stability, cost, and operational effort |
| Higher education, enterprise learning, frequent deadlines and exams | 99.9% | High availability design prevents most single failures from causing downtime |
| Regulated programs, proctored exams, large global delivery | 99.99% | Downtime has direct business and compliance costs, requires multi layer resilience |
Uptime Tiers and How to Achieve Them in Moodle

90% uptime (basic availability) | |
|---|---|
| Best fit | Pilots, sandboxes, internal demos, small teams, low stakes learning. |
| Architecture baseline | Single server or VM, single database, local storage for moodledata, manual recovery steps. |
| Moodle steps that raise uptime |
|
| Operations steps that raise uptime |
|
| LAMP stack notes | Linux scheduling and services are straightforward. PHP OPcache reduces CPU spikes and improves consistency. |
| Windows stack notes | Use Task Scheduler for cron and monitor success. Keep file permissions consistent for Moodle code and moodledata. |
95% uptime (stable for small production) | |
|---|---|
| Best fit | Small organizations, departments, small training providers, limited peak traffic and limited contractual risk. |
| Architecture baseline | Single web node with a separate database server preferred. Automated backups. Basic monitoring and alerts. |
| Moodle steps that raise uptime |
|
| Operations steps that raise uptime |
|
| LAMP stack notes | Service restarts and monitoring are easy to automate. Common Linux tooling supports stable operations. |
| Windows stack notes | Plan Windows updates with predictable reboot windows. Ensure IIS and PHP settings stay consistent after patching. |
99.0% uptime (production standard) | |
|---|---|
| Best fit | Most production Moodle sites used for real learning delivery, deadlines, and business processes. |
| Architecture baseline | Separate web tier and database tier. Redundancy for common failures. Clear storage plan for moodledata. Monitoring and alerting for key metrics. |
| Moodle steps that raise uptime |
|
| Operations steps that raise uptime |
|
| LAMP stack notes | Scaling web nodes behind a load balancer is common. Redis and PHP tuning practices are widely used. |
| Windows stack notes | Focus on consistent PHP and IIS configuration across environments. Validate storage performance for moodledata early. |
99.9% uptime (high availability) | |
|---|---|
| Best fit | Higher education, enterprise learning, large audiences, peak deadlines, frequent exams, customer facing learning portals. |
| Architecture baseline | Load balanced web tier with at least two web nodes. High availability database approach. Separate cache and sessions service. Shared moodledata designed for high availability. Full monitoring across all layers. |
| Moodle steps that raise uptime |
|
| Operations steps that raise uptime |
|
| LAMP stack notes | High availability patterns are well established. Automation for deployments and monitoring is mature in most Linux teams. |
| Windows stack notes | High availability is strong when configuration management is consistent. Pay close attention to IIS recycling policies and shared storage behavior. |
99.99% uptime (mission critical) | |
|---|---|
| Best fit | Regulated programs, high stakes assessments, global 24 hour delivery, strict contracts, direct revenue impact. |
| Architecture baseline | Multi zone high availability for web, database, cache, sessions, and storage. Disaster recovery with a tested restore process. Dependency monitoring for SSO, email, DNS, network, and third party tools. |
| Moodle steps that raise uptime |
|
| Operations steps that raise uptime |
|
| LAMP stack notes | Multi zone and disaster recovery automation usually integrates smoothly with Linux tooling and common cloud patterns. |
| Windows stack notes | Mission critical design succeeds with disciplined configuration and testing. Validate database failover and storage failover under real load tests. |
LAMP Based Stack vs Windows Based Stack 
Moodle runs on both stack styles. The difference shows up in operations, automation, and shared storage behavior.
Simple definitions
- LAMP based stack: Linux plus a web server (Apache or Nginx), a database (MySQL, MariaDB, or PostgreSQL), and PHP.
- Windows based stack: Windows Server plus IIS, PHP configured for Windows, and a database such as Microsoft SQL Server or MySQL/MariaDB/PostgreSQL.
- Cost and performance note: Moodle can run well on Windows, but most high performance Moodle deployments use Linux with PHP plus MySQL/MariaDB or PostgreSQL. If you need strong performance at peak load, reaching the same throughput on Windows often requires more tuning and more server resources, which can increase total hosting cost.
Uptime considerations side by side
| Area | LAMP based approach | Windows based approach |
|---|---|---|
| Scheduling background tasks | Cron scheduling is direct and reliable in Linux. | Use Windows Task Scheduler with clear run as permissions and monitoring. |
| Web and PHP stability | PHP FPM with process management is common and predictable. | FastCGI settings and IIS recycling policies require careful tuning. |
| Performance and cost at scale | Linux plus PHP tooling is the most common path for strong performance per dollar in Moodle, especially with MySQL/MariaDB or PostgreSQL. | Windows can meet uptime targets, but high performance configurations often require more tuning and resources, which can raise total cost. |
| Shared storage for moodledata | NFS style sharing is common. Performance tuning focuses on file latency and throughput. | SMB shares are common. Permissions and file locking behavior require close attention. |
| Automation and deployments | Automation scripts and configuration management tools are widely used. | Automation works well when standardized. Consistency across servers is critical. |
| Monitoring and logs | Many options and strong community patterns exist. | Strong tools exist. Ensure logs from IIS, PHP, and the database are collected together. |
Practical Checklist to Improve Uptime in Moodle

This checklist works across uptime tiers. Higher tiers require more of the items to be fully implemented and tested.
Platform fundamentals
- Separate the database from the web server for production systems.
- Ensure enough disk space for moodledata, database growth, and backups.
- Use caching and apply tuning for PHP and the database.
- Use SSL certificates with monitoring for expiration.
Moodle fundamentals
- Run cron reliably and monitor for overdue tasks.
- Control plugins and themes. Remove unused plugins.
- Plan upgrades and test them in a staging environment first.
- Schedule heavy reports away from peak learning hours.
Operational fundamentals
- Back up the database and moodledata and test restores on a schedule.
- Monitor availability, performance, disk, database health, and error rates.
- Use a simple change process with rollback steps written down.
- Run periodic failover and recovery drills for high availability environments.
Summary: Uptime Tier at a Glance

| Tier | Recommended for | Core technical strategy | Core operations strategy |
|---|---|---|---|
| 90% | Pilots and sandboxes | Single server stability, backups, basic monitoring | Maintenance windows and restore ability |
| 95% | Small production use | Separate database, automated backups, basic tuning | Patch schedule, restore tests, change log |
| 99.0% | Most production Moodle sites | Redundancy for common failures, Redis, session planning | Alerting, rollback plans, defined recovery targets |
| 99.9% | Enterprise and higher education | Load balanced web tier, HA database, HA storage | Runbooks, drills, low downtime deployments |
| 99.99% | Mission critical exams and regulated programs | Multi zone resilience plus disaster recovery | Strict change control, incident reviews, practiced recovery |
How Moodle Experts Help Improve and Manage Uptime

Moodle uptime improves fastest when the platform setup and daily operations follow a clear standard. Moodle experts bring repeatable practices that reduce outages, speed up recovery, and keep performance stable during peak usage.
If your target is higher than 95% uptime, it is strongly recommended to work with an experienced Moodle provider, because the required architecture and operating discipline quickly goes beyond basic server administration.
What Moodle experts do
| Work area | What the expert delivers | Uptime impact |
|---|---|---|
| Uptime assessment | Review of hosting, database health, storage, integrations, and operational gaps | Finds the biggest uptime risks and removes guesswork |
| Architecture and scaling | Right sized design for the chosen uptime target, including high availability when required | Prevents single failures from taking the site down |
| Performance tuning | Database tuning, PHP tuning, caching setup, and readiness for peak loads | Reduces slowdowns that lead to outages |
| Moodle configuration hygiene | Correct cron setup, task schedules, safe settings, and cleanup routines | Prevents background task failures and gradual performance decline |
| Plugin and theme governance | Plugin review, risk checks, version control, and a controlled change process | Reduces incidents caused by unstable plugins and rushed updates |
| Monitoring and alerting | Dashboards and alerts for availability, response time, errors, database, and storage | Detects issues earlier and shortens downtime |
| Release and upgrade management | Staging process, upgrade runbooks, validation steps, and rollback plans | Makes upgrades predictable and reduces post upgrade incidents |
| Backup, recovery, and DR | Backup plans for database and moodledata, restore testing, and recovery drills | Improves recovery speed and protects learning data |
| Incident response | Runbooks for common incidents, escalation paths, and post incident fixes | Speeds up resolution and prevents repeat incidents |
| Training and documentation | Admin training and simple operating procedures for routine work | Reduces human error and improves consistency |
Uptime targets: what changes and what to ask
| Target uptime | What typically changes | What to confirm with your provider |
|---|---|---|
| 90% to 95% | Stabilize essentials: cron reliability, backups, monitoring, and controlled updates. | Confirm how cron is monitored, how backups run, how often restores are tested, and what the maintenance window looks like. |
| 99.0% | Add performance tuning, caching, clearer recovery targets, and stronger release discipline. | Confirm caching approach (ex: Redis), recovery targets (restore time + data), rollback process for upgrades/plugins, and how peak usage is handled. |
| 99.9% | Implement high availability across web, database, cache, sessions, and storage, plus failover drills. | Confirm the HA design, which layers are redundant, how failover is tested, and who responds outside business hours. |
| 99.99% | Add multi zone resilience, practiced disaster recovery, dependency monitoring, and strict release gates. | Confirm DR strategy, tested recovery time, dependency monitoring (SSO/email/DNS/LTI), and change control standards for mission critical periods. |
Use the table above as your checklist, and always confirm:
- What is included and excluded from the uptime calculation.
- How backups and restore testing are handled (and how often restores are tested).
- How upgrades and plugin changes are tested and rolled back.
- What monitoring and on-call coverage is included.
- How peak events (exams, enrolment, deadlines) are supported.
Start by choosing an uptime level that matches the real cost of downtime for your users and your organization. Then build the design and the daily habits that match that target. The jump from 99.0% to 99.9% is a major step. The jump to 99.99% turns uptime into a dedicated discipline that touches architecture, staffing, testing, and change control.

