Aunque el software del Moodle será el mismo para una plataforma de 100 alumnos que para una plataforma de 20.000, el hardware del servidor no lo será, ya que tendremos que contar con más recursos para dar un buen servicio a nuestro alumnado. Estimar que requerimientos de servidor necesita una instalación de MOODLE, dependerá de numerosos factores a tener en cuenta.

moodlepc-1

Rendimiento

Es uno de los factores clave. El tipo de servidor usado no debería ser un servidor compartido, necesitaremos ir a soluciones más profesionales como los servidores virtuales y dedicados. La elección de uno u otro dependerá del numero de peticiones recurrentes que necesitaríamos.

El factor determinante a la hora de seleccionar un servidor es la disponibilidad de memoria RAM. Usando la documentación oficial de moodle encontramos una primera aproximación bastante buena:

The general rule of thumb for a single server is that the approx max concurrent users = RAM (GB) * 50 and the approx max browsing users = Approx max concurrent users * 5. As an example, a university with 500 total computers on campus and 100 concurrent users at any time will need approx 2GB of R
AM on the one server to support the number of concurrent users.

en español…

La regla general para el funcionamiento adecuado en un servidor individual es que el número máximo de usuarios concurrentes debe ser igual a la cantidad de GB de memoria RAM multiplicado por 50 (nMuc=RAM(GB)*50), y que el número máximo aproximado de usuarios que acceden al servidor mediante el navegador web es igual al nMuc*5. Por ejemplo: una universidad con un total de 500 computadores en el campus y 100 usuarios concurrentes en cualquier instante, necesitará disponer de aproximadamente 2GB de memoria RAM en el servidor para soportar el número de accesos concurrentes.

En otras palabras: si el servidor web tiene 2GB de memoria RAM, podrías tener un rendimiento aceptable al recibir la concurrencia de 100 usuarios en un determinado momento, por ejemplo una evaluación aplicada a los 100 a la vez, y un acceso moderado de 500 usuarios de forma intermitente.

Viene a decir que necesitamos 2GB RAM por cada 100 usuarios concurrentes. O 1GB de RAM por cada 50 usuarios concurrentes. Normalmente se suele manejar como cifra de concurrencia entre un 10% y un 20% del total de alumnos.

Si contamos con un servidor sobre apache, también tenemos una herramienta muy útil y que nos puede dar información esencial para tener una estimación aproximada a algo real:

ApacheBench

Mediante una linea de comando en bash podemos obtener fácilmente un test para nuestro dominio:

ab -n 100 -c 10 https://campus.factorsim.es/

 

infoab

 

Requerimientos

Otro aspecto a tener en cuenta es que Moodle necesita una configuración determinada de PHP, lo que muchos proveedores de hosting no facilitan argumentando problemas de seguridad. Mencionaremos varios aspectos a tener en cuenta:

  • La carpeta de archivos moodledata, por requerimiento de Moodle, no debe estar ubicada en la carpeta pública web, sino fuera de esta. Si el proveedor no nos permite hacerlo, no podremos instalar Moodle en nuestro hosting. (Puede darse el caso de que nos permita la excepción pero a cambio de no responsabilizarse de futuros problemas, con lo que quedaremos un tanto desasistidos).
  • Moodle necesita tener activadas una serie de librerías PHP. La activación de estas librerías es muy sencilla ya que se realiza modificando el archivo php.ini, al que normalmente no tenemos acceso en un hosting. Esto significa que tenemos que verificar antes de contratarlo que nuestro proveedor va a facilitarnos las modificaciones pertinentes en la configuración de PHP.
  • Lo mismo sucede con otros parámetros que se configuran en PHP o incluso en Apache, como son la memoria límite de PHP (más adelnate lo comentamos con más detalle) o el tamaño máximo de archivos a subir al servidor.
  • Quedan descartados aquellos proveedores que no garanticen flexibilidad en la configuración de Apache, MySQL y PHP para que esta se adapte a los requerimientos de nuestra versión de Moodle. En resumen, debemos eliminar de nuestra lista de posibles proveedores a aquellos que no estén focalizados en proporcionar hosting en entorno PHP, y dentro de lo que lo estén, primaremos siempre a aquellos que estén especializados.