Moodle Platform Audit
A platform that’s running slowly, exams that keep crashing, and an IT team that’s been trying to figure it out for months. In most of the cases we encounter, the problem isn’t Moodle. That’s what we’ve built around it, and no one has taken a close look at it yet.
A Moodle audit conducted by a team that truly understands the platform is quite different from a configuration review. It provides an overview of everything that has accumulated, with a clear prioritization of what needs to be addressed first.
What We're Looking At
A Pimenko audit covers several complementary areas.
-
Infrastructure and Architecture
Web server, PHP configuration, database, caching system, session management, file storage. It is the layers that determine what happens under load, and that is often where the real causes of production problems lie.
-
The Moodle platform itself
Installed version and how far behind it is from the stable version, active plugins and their maintenance status, question bank, database schema, scheduled tasks (cron), and security settings. A platform can quietly accumulate a considerable amount of technical debt without anyone realizing it.
-
Organization Around the Platform
Governance, IT integration processes, role and permission management, course archiving policy, update procedures. Technical problems almost always have an underlying organizational aspect.

What You'll Find: A Few Examples
Every audit is different. The following is not a list of universal problems, but rather real-life situations drawn from recent assignments to illustrate the kinds of issues that aren't visible from the Moodle interface.
-
Exams that crash—and Moodle isn't to blame
At a prestigious university we’re working with, the logs reveal a very specific sequence of events: 120 PHP workers became overloaded in less than 6 seconds during a peak in concurrent requests. However, the machine has 64 GB of RAM. The real cause: Without a caching system, each process acquires a lock on its session file and queries the database without caching. The solution: Implement an efficient caching system that radically changes performance under load.
This case illustrates something that is often said: crashes during exams almost always have a specific architectural cause. -
The Invisible Question Bank
In another mission, we discover 22 million entries in the question database. The school was unaware of this. The cause: a documented bug in Moodle 4.5 that silently duplicates questions every time a course is duplicated. Each back-to-school preparation cycle adds millions more. In a similar project, we reduced a comparable database from 2.5 million to 400,000 entries: the quizzes’ performance returned to normal immediately.
-
The cron job that's causing everything to freeze up
On another platform, a task that synchronizes registrations runs every night for several hours and blocks all other scheduled tasks. The reason: the platform hosts courses spanning a decade, which Moodle processes in their entirety during each cycle. A clear archiving policy (read-only access, export, gradual deletion) and the implementation of an infrastructure capable of properly managing scheduled tasks are essential.
These three examples have one thing in common: none of them were visible from the Moodle interface. None had been identified by the internal teams. And in all three cases, the problem was resolved quickly once the diagnosis was made.
These are not exceptional cases. These are situations we encounter regularly, though they take different forms depending on the platform.
Our Approach
A Pimenko audit is conducted in several stages.
Analysis
Access to the Moodle administration interface, server logs (PHP, cron, database), and technical configuration. We examine the platform’s actual performance metrics—users, courses, plugins, scheduled tasks, and database schema—and compare them to the target metrics.
Interviews
We supplement the technical analysis with discussions with the IT and instructional teams. Performance issues almost always have an organizational aspect that logs alone do not reveal.
Restitution
A written report, organized by priority and impact. Each recommendation is accompanied by an estimate of how difficult it will be to implement. You know exactly what to do first and why.
This report is being discussed in meetings with your team.
When Is an Audit Useful?
Audits are not limited to platforms with reported issues. It is particularly useful in the following situations.
-
Before a major surge in traffic (expansion of your online training programs, the start of the school year, a national campaign), to verify that the platform is ready.
-
Before migrating to a new major version of Moodle, to identify any technical debt that needs to be addressed beforehand.
-
When taking over a platform developed by another service provider, to understand what has been done and assess the risks.
-
When performance gradually deteriorates for no apparent reason. And after an incident in production, to understand its actual cause and prevent it from happening again.
If you have any concerns about the health of your platform, or a project that requires it to support certain features, please contact us.
Let's Talk About a Moodle AuditNeed an audit?
If you have any concerns about the health of your platform, or a project that requires it to support certain features, please contact us.