Habilitar OPcache para Moodle 3.5 o superior

Normalmente, los scripts PHP se compilan en tiempo de ejecución. Parte del tiempo de computación es requerido para convertir el código. Con OPcache, este cálculo se realiza solo una vez y el script precompilado, legible por máquina (calculado) se almacena en un caché. La secuencia de comandos se puede cargar desde este caché a la velocidad del rayo si es necesario. En la mayoría de los casos, esto conduce a mejoras considerables de velocidad. Los sitios web especialmente grandes pueden manejar muchas más solicitudes simultáneamente con OPcache activado.

La extensión estándar OPCache está altamente recomendada; desde Moodle 2.6, es la única solución soportada oficialmente por los desarrolladores de PHP. Los beneficios son aumento del desempeño y significativamente menor uso de memoria. Sin embargo, las extensiones para cacheo de opcode (incluyendo OPcache, eAccelerator y APC) no son compatibles con los servidores configurados para usar algunos tipos comunes de manejadores PHP de alta seguridad, tales como suPHP (que se emplea por defecto en servidores Linux WHM / cPanel ). Esto es muy comun en servidores compartidos.

Instalación

La extensión OPcache es distribuída como parte de PHP 5.5.0 y posteriores. Está disponible también para versiones estables más antiguas de PHP desde PECL bajo el nombre original ZendOPcache.

En derivados de Debian, normalmente se instala junto con la base de PHP pero está deshabilitada, se instalaría como sigue:

$ sudo apt install php7.x-opcache

Cambiar la x por la subversión de PHP ya instalada.

Configuración

Configuraciones en php.ini para habilitarla. En derivados de Debian, editar el archivo /etc/php/7.x/apache2/php.ini (cambiar la x por el numero de sub versión).

$ sudo vim /etc/php/7.x/apache2/php.ini

Buscar el bloque de [opcache] y poner lo siguiente:

[opcache]
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60

; Requerido para Moodle
opcache.use_cwd = 1
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 0

; Si algo no funciona en Moodle
;opcache.revalidate_path = 1 ; Puede arreglar problemas con rutas ''include''

Reiniciar el servicio de Apache para que retome los cambios de PHP

$ sudo service apache2 restart

Listo!

Ejemplo para servidores Moodle con 32GB en RAM

 opcache.enable = 1
 opcache.memory_consumption = 512
 opcache.max_accelerated_files = 10000
 opcache.revalidate_freq = 60
 ; Requerido para Moodle
 opcache.use_cwd = 1
 opcache.validate_timestamps = 1
 opcache.save_comments = 1
 opcache.enable_file_override = 0
 ; Si algo no funciona en Moodle
 ;opcache.revalidate_path = 1 ; Puede arreglar problemas con rutas ''include''
 ;opcache.mmap_base = 0x20000000 ; (Windows only) fix OPcache crashes with event id 487
 ; Experimental para Moodle 2.6 y posteriores
 opcache.fast_shutdown = 1
 opcache.enable_cli = 1
 ;opcache.load_comments = 0 ; Puede disminuir el uso de memoria, puede no ser compatible con complementos y otras apps

Referencia: https://docs.moodle.org/all/es/OPcache

También te podría gustar...