Type something to search...

MAQ Módulo 3 – Rendimiento: cuando el sitio va lento, todos lo saben

Hay una ley no escrita en la administración de sistemas educativos: cuando Moodle va lento, el teléfono suena. No importa la hora. No importa que sea periodo de exámenes y que precisamente por eso haya más carga. El administrador siempre es el primero en saber que algo va mal, aunque sea a través de un mensaje de WhatsApp del rector.

Este módulo del MAQ, Mantenimiento y Soporte 2.1 Rendimiento, toca algo que vivo en el día a día: cómo mantener un sitio Moodle respondiendo bien bajo carga real.

Lo que el MAQ propone

El marco DigCompLMSAdmin define esta competencia como “usar medidas de rendimiento recomendadas para la optimización y la escalabilidad”. Suena académico, pero en la práctica se traduce en tres preguntas concretas:

  • ¿Está el servidor bien dimensionado?
  • ¿Está la caché correctamente configurada?
  • ¿Estoy monitorizando o simplemente esperando a que algo falle?

El Resumen de rendimiento

El primer recurso que menciona el MAQ es el Informe de Resumen de Rendimiento en Administración del sitio > Informes > Resumen de rendimiento. Es uno de esos paneles que mucha gente ignora hasta que hay un problema.

El semáforo es claro: verde está bien, ámbar es una advertencia que merece atención, rojo requiere acción inmediata. Lo que he aprendido con los años es que los ámbar crónicos son más peligrosos que los rojos puntuales. Un rojo se arregla. Un ámbar que llevas meses ignorando es una deuda técnica acumulada.

También existe la Información de rendimiento en Administración del sitio > Desarrollo > Depuración, que muestra en tiempo real el uso de RAM, tiempo de ejecución, archivos en uso y estado de las cachés. Útil para diagnosticar, pero hay que activarla con cuidado en producción — expone información técnica que no debería ver cualquier usuario.

La infraestructura importa más de lo que parece

El MAQ recomienda aumentar RAM como primer paso fundamental. Parece obvio, pero he visto instalaciones de Moodle para miles de usuarios corriendo en servidores con 4GB de RAM compartida con el servidor web, la base de datos y el servidor de caché. Todo en la misma máquina. El rendimiento en ese escenario no es un problema de configuración — es un problema de arquitectura.

En nuestra instalación actual, la separación de servicios marca la diferencia: servidor web dedicado, base de datos PostgreSQL en servidor propio, y caché Valkey (el sucesor de Redis) también separada. Cuando hay un pico de carga — inicio de semestre, periodo de exámenes, una sincronización masiva de usuarios — cada capa puede escalar de forma independiente sin afectar a las demás.

El caso de estudio del MAQ muestra exactamente esto: Greta, la administradora de una escuela vocacional, resolvió los problemas de pico configurando APCu para caché local y Redis para caché de sesiones. No es casualidad que la solución pase por la caché — es siempre el primer lugar donde buscar margen de mejora sin tocar el hardware.

Caché: el arma más infravalorada

Moodle tiene su propio sistema de gestión de caché llamado MUC (Moodle Universal Cache). Es sofisticado, flexible y habitualmente mal configurado. Por defecto, Moodle usa el sistema de archivos para la caché, que es funcional pero no óptimo.

La mejora más impactante que puedes hacer en un Moodle de cualquier tamaño es configurar una caché en memoria:

  • APCu para instalaciones en servidor único — rápido, sin dependencias externas
  • Redis o Valkey para instalaciones multi-servidor — permite compartir caché entre nodos
  • Memcached como alternativa a Redis si ya lo tienes en infraestructura

En nuestro caso, la migración de caché de archivos a Valkey redujo los tiempos de respuesta de forma medible. No porque el sistema de archivos sea malo, sino porque la RAM es órdenes de magnitud más rápida que el disco, incluso con SSD.

PHP: los ajustes que marcan la diferencia

El MAQ menciona específicamente la configuración de PHP como palanca de rendimiento. Los parámetros más relevantes:

  • memory_limit: Moodle recomienda mínimo 96MB por proceso, pero en producción con plugins pesados conviene 256MB o más
  • max_execution_time: suficiente para operaciones largas como importaciones o backups, pero no ilimitado
  • opcache: fundamental tenerlo activado — cachea el bytecode de PHP evitando recompilar en cada petición
  • max_input_vars: Moodle con muchos ajustes puede necesitar aumentar este valor por encima del default de 1000

Plugins: menos es más

Una sección que me parece especialmente relevante del MAQ es la dedicada a minimizar el uso de plugins. Cada plugin adicional es código que se ejecuta en cada petición. Un Moodle con 80 plugins activos responde diferente que uno con 30, aunque el hardware sea idéntico.

La recomendación es hacer auditorías periódicas: ¿este plugin se usa realmente? ¿La funcionalidad que aporta justifica el coste en rendimiento? A veces instalamos un plugin para resolver un problema puntual y tres años después sigue ahí, activo, añadiendo latencia a cada carga de página.

Almacenamiento externo y CDN

Para sitios grandes con muchos archivos, el MAQ plantea dos estrategias complementarias:

Almacenamiento externo (Google Drive, Dropbox, o mejor aún, un almacén de objetos S3-compatible) — saca los archivos pesados del servidor Moodle, liberando espacio y ancho de banda local.

CDN — para sitios con usuarios geográficamente distribuidos, una red de distribución de contenidos almacena recursos estáticos cerca de los usuarios. La ganancia es especialmente notable para imágenes, CSS y JavaScript.

En infraestructuras sobre OpenShift o Kubernetes, el almacenamiento de objetos no es una opción sino una necesidad — los pods no tienen almacenamiento persistente local, por lo que los archivos de usuario deben vivir fuera del sistema de archivos del contenedor.

Mi reflexión personal

Lo que más me ha enseñado el trabajo real con Moodle a gran escala es que el rendimiento no se arregla una vez — se gestiona continuamente. Las cargas cambian, los patrones de uso evolucionan, se añaden plugins, crece el número de usuarios. Lo que funcionaba bien hace dos años puede ser un cuello de botella hoy.

Por eso el MAQ insiste en establecer procesos: un canal claro para que los usuarios reporten lentitud, revisión periódica del resumen de rendimiento, monitorización activa. No es glamuroso, pero es lo que distingue al administrador que previene problemas del que solo los resuelve cuando ya han ocurrido.

La próxima sección del módulo trata sobre actualizaciones. Una de las formas más directas — y más subestimadas — de mejorar el rendimiento de Moodle.


Este post forma parte de mi serie de apuntes para el examen de certificación MAQ. Si también estás preparándote, espero que te sea útil.

MAQ Módulo 2 – Políticas del sitio | MAQ Módulo 3 – Actualización

Related Posts

MAQ Módulo 1: Professional Practice — mi autoreflexión

MAQ Módulo 1: Professional Practice — mi autoreflexión

Cuando vi que el primer módulo del MAQ se llamaba Professional Practice y no "Instalación" ni "Seguridad" ni nada técnico, mi primera reacción fue: ¿en serio? ¿Empezamos por esto? Mi segunda re

read more
MAQ: la cualificación oficial para administradores de Moodle

MAQ: la cualificación oficial para administradores de Moodle

Si llevas tiempo administrando Moodle y te has preguntado si existe alguna forma oficial de validar lo que sabes, la respuesta es sí: el MAQ (Moodle Administrator Qualification). Qué es el MAQ

read more
MAQ Módulo 2: Implementación — primeras impresiones

MAQ Módulo 2: Implementación — primeras impresiones

Después de la reflexión personal que me dejó el Módulo 1, llega el Módulo 2: Implementación. Y aquí sí que me siento en terreno conocido. O eso creía. Lo que cubre este módulo Implementación

read more
MAQ Módulo 2 — Instalación: de Moodle 4.1 a 4.5, lo que nadie te cuenta

MAQ Módulo 2 — Instalación: de Moodle 4.1 a 4.5, lo que nadie te cuenta

El primer subapartado del módulo de Implementación es Instalación. Si no has leído la introducción al módulo, puedes empezar por aquí: [MAQ Módulo 2: Implementación — primeras impresiones](/pensam

read more
MAQ Módulo 2 — Seguridad: lo que el checklist no te dice

MAQ Módulo 2 — Seguridad: lo que el checklist no te dice

*Este post es parte de la serie sobre el Módulo 2 del MAQ. Si no has leído la introducción, puedes empezar por [MAQ Módulo 2: Implementación — primeras impresiones](/pensamientos/blog/maq-modulo-2-imp

read more
MAQ Módulo 2 — Privacidad: el RGPD no es un formulario, es una responsabilidad

MAQ Módulo 2 — Privacidad: el RGPD no es un formulario, es una responsabilidad

Este post es parte de la serie sobre el Módulo 2 del MAQ. Puedes leer el anterior aquí: MAQ Módulo 2 — SeguridadLa privacidad es el subapartado de

read more
MAQ Módulo 2 — Políticas del sitio: más allá del checkbox de aceptación

MAQ Módulo 2 — Políticas del sitio: más allá del checkbox de aceptación

Este post cierra la serie del Módulo 2 del MAQ. Puedes leer el anterior aquí: MAQ Módulo 2 — PrivacidadEl último subapartado del módulo de Implem

read more

MAQ Módulo 3 – Actualización: la deuda técnica que nadie quiere pagar

Hay una conversación que todo administrador de Moodle ha tenido al menos una vez. Alguien del equipo directivo pregunta: "¿Es necesario actualizar si todo funciona bien?". La respuesta correcta es sí,

read more

MAQ Módulo 3 – Fin de año: qué hacer con los cursos cuando termina el ciclo

Cada final de curso académico trae la misma pregunta: ¿qué hacemos con todo esto? Con los cursos del año anterior, con los estudiantes que ya terminaron su programa, con los profesores que van a repet

read more

MAQ Módulo 3 – Estructuras de soporte: el trabajo invisible que lo sostiene todo

Hay una paradoja en el trabajo de soporte a usuarios: cuando funciona bien, nadie lo nota. Los docentes crean sus cursos sin incidencias, los estudiantes acceden a sus materiales sin confusión, y las

read more

MAQ Módulo 4 – Valores predeterminados del sitio: las decisiones que afectan a todos

Hay una diferencia entre administrar Moodle y configurarlo bien. Administrar es resolver los problemas que van apareciendo. Configurar bien es tomar decisiones que evitan que esos problemas aparezcan.

read more

MAQ Módulo 4 – Gestión de cursos y categorías: el orden que nadie ve pero todos necesitan

Existe una tensión permanente en la administración de Moodle entre la flexibilidad que el sistema ofrece y la coherencia que los usuarios necesitan. Moodle permite organizar los cursos de prácticament

read more

MAQ Módulo 4 – Repositorios y portafolios: dónde viven los archivos en Moodle

Cuando un docente sube un archivo a Moodle, rara vez piensa en qué repositorio está usando. Hace clic en "Añadir archivo", arrastra el documento desde el escritorio y listo. Desde la perspectiva del u

read more