Diferencia entre revisiones de «Rendimiento»

De MoodleDocs
Línea 15: Línea 15:
* Observe que usar '''conexiones web seguras''' ('''https''' ante '''http''') lleva consigo un trabajo más intenso, tanto para el servidor como para el cliente - especialmente porque el sistema de /caché/ no se puede utilizar con la misma eficacia, y el número de peticiones a ficheros aumenta drásticamente. Por esa razón, no es recomendable usar https para todas las páginas Moodle. Puede activar https para la pantalla de identificación de usuarios, simplemente desde la página de configuración de Moodle.
* Observe que usar '''conexiones web seguras''' ('''https''' ante '''http''') lleva consigo un trabajo más intenso, tanto para el servidor como para el cliente - especialmente porque el sistema de /caché/ no se puede utilizar con la misma eficacia, y el número de peticiones a ficheros aumenta drásticamente. Por esa razón, no es recomendable usar https para todas las páginas Moodle. Puede activar https para la pantalla de identificación de usuarios, simplemente desde la página de configuración de Moodle.


* Puede mejorar el rendimiento usando un servidor ''light-weight'' [http://www.lighttpd.org/ lighttpd] (moentáneamente roto el enlace, utilice un buscador) combinado con PHP en modo ''fastCGI'' en lugar de Apache, debido al uso mucho menor de la memoria. Un proceso de Apache necesita más memoria RAM que lighttpd con todos sus procesos ''fastCGI'' juntos. Piense que eso podría no ser una buena solución si puede procurarse un servidor muy completo y poderoso, porque la administración requiere un poco más de tiempo
* Puede mejorar el rendimiento usando un servidor ''light-weight'' [http://www.lighttpd.org/ lighttpd] (momentáneamente roto el enlace, utilice un buscador) combinado con PHP en modo ''fastCGI'' en lugar de Apache, debido al uso mucho menor de la memoria. Un proceso de Apache necesita más memoria RAM que lighttpd con todos sus procesos ''fastCGI'' juntos. Piense que eso podría no ser una buena solución si puede procurarse un servidor muy completo y poderoso, porque la administración requiere un poco más de tiempo


* Piense en la posibilidad de reducir ''MaxRequestsPerChild'' en ''httpd.conf'' hasta reducirlo a 20-30  
* Piense en la posibilidad de reducir ''MaxRequestsPerChild'' en ''httpd.conf'' hasta reducirlo a 20-30  

Revisión del 18:39 23 dic 2007

Moodle puede prepararse para que trabaje muy bien, desde niveles con poco uso hasta instalaciones con miles de usuarios. Los factores relacionados con el rendimiento son básicamente los mismos de un sistema basado en PHP y base de datos, y el diseño de Moodle (separando claramente las capas de la aplicación) permite la preparación concienzuda. Vea Grandes Instalaciones para saber más de algunas instalaciones extensas de Moodle.

Esas instalaciones grandes normalmente separan el servidor web del de base de datos en dos ordenadores diferentes, aunque en instalaciones más pequeñas no hará falta.

Se puede equilibrar la carga de una instalación Moodle, por ejemplo utilizando más de un servidor web. Estos servidores separados podrían compartir la misma base de datos y referirse a la misma zona de ficheros, y por otro lado, la separación de las capas es suficiente para permitir ese tipo de clustering. Semejantemente, la base de datos podría ser un cluster de servidores (p.e. un cluster MySQL)

Rendimiento del servidor

  • La cantidad de RAM del servidor web es el factor más importante del rendimiento del servidor - cuanto más memoria mejor (por ejemplo, 4GB)
  • Linux o Unix son los sistemas operativos recomendables para un servidor. Trabajan mucho mejor que los servidores Mac OSX o Windows ante cargas voluminosas.
  • Es muy recomendable usar un Acelerador PHP para aligerar el trabajo de la CPU, como Turck MMCache o PHPA.
  • El rendimiento de PHP mejora si está instalado como un módulo Apache (mejor que como CGI).
  • En un sistema Unix/Linux, el rendimiento puede mejorar mucho si se prepara para poder utilizar la compresión y descompresión de ficheros accediendo a los comandos zip/unzip (mejor que utilizar librerías basadas en PHP para el tratamiento de ficheros zip) - vaya a Admininstración > Configurar > Variables e indique el camino de los ejecutables relacionados con las operaciones. (Semejantemente, indicando el camino hacia du mejorará la velocidad de Moodle al presentar los contenidos de los directorios.)
  • Observe que usar conexiones web seguras (https ante http) lleva consigo un trabajo más intenso, tanto para el servidor como para el cliente - especialmente porque el sistema de /caché/ no se puede utilizar con la misma eficacia, y el número de peticiones a ficheros aumenta drásticamente. Por esa razón, no es recomendable usar https para todas las páginas Moodle. Puede activar https para la pantalla de identificación de usuarios, simplemente desde la página de configuración de Moodle.
  • Puede mejorar el rendimiento usando un servidor light-weight lighttpd (momentáneamente roto el enlace, utilice un buscador) combinado con PHP en modo fastCGI en lugar de Apache, debido al uso mucho menor de la memoria. Un proceso de Apache necesita más memoria RAM que lighttpd con todos sus procesos fastCGI juntos. Piense que eso podría no ser una buena solución si puede procurarse un servidor muy completo y poderoso, porque la administración requiere un poco más de tiempo
  • Piense en la posibilidad de reducir MaxRequestsPerChild en httpd.conf hasta reducirlo a 20-30

(if you set it any lower the overhead of forking begins to outweigh the benefits).

Además compruebe el parámetro memory_limit en php.ini, redúzcalo al menos a 16M. (Sugerencias de Rory Allford)

Rendimiento de la base de datos

Rendimiento de los módulos de Moodle

Los módulos de actividades de Moodle, filtros y otros plugins pueden activarse y desactivarse. Si hiciera falta, se podrían desactivar algunas características no deseadas (por ejemplo el chat) - realmente no hace falta eso. Algunas observaciones del rendimiento de algunos módulos:


  • El módulo Chat se dice que es un cerdo glotón en términos de llamadas HTTP frecuentes al servidor. Se puede mejorar si utiliza un servidor basado en Unix si hace correr el chat como un demonio del sistema.
  • Informe breve del rendimiento para 55 estudiantes utilizando un Cuestionario
  • El cron interno de Moodle se ejecuta llamando al script cron.php. Si esta llamada se produce sobre HTTP (por ejemplo si se usa wget o curl) puede ser que se tome mucha memoria en instalaciones extensas. Si se le llama directamente, invocando el comando php (por ejemplo, php -f /camino/de/moodle/directorio/admin/cron.php) se puede mejorar mucho la eficiencia.

Enlaces