29/OPcache

Saltar a: navegación, buscar
note icon.png Existe documentación diferente para varias versiones de Moodle: Esta página es acerca de OPcache para Moodle 2.9 y anteriores. Para la documentación más reciente, vaya a OPcache .

Moodle 2.6

¡Nueva característica
en Moodle 2.6!

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.

NOTA: Si Usted está corriendo PHP 5.3 o 5.4 Usted puede ignorar con seguridad el mensaje de revisión del Entorno sobre OpCache. Sin embargo, se recomienda que actualice PHP a 5.5 o posterior; debido a los muchos problemas descritos con PHP 5.2 y 5.3, donde el actualizar PHP resultó ser la solución más sencilla.


Configuración

Configuraciones en PHP.ini :

[opcache]
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 4000
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 solamente) corrije caídas de OPcache (''crashes'') con event id 487

; Experimental para Moodle 2.6 y posteriores
;opcache.fast_shutdown = 1
;opcache.enable_cli = 1 ; Acelera CLI cron
;opcache.load_comments = 0 ; Puede disminuir el uso de memoria, puede no ser compatible con complementos y otras apps.

Al usar plataformas no-Windows, Usted tiene que usar la configuración de zend_extension para cargar la extensión OPcache en PHP al añadirla a php.ini:

zend_extension=/ruta/completa/hacia/opcache.so


Al usar IIS Usted necesitará PHP 5.5 y Usted necesitará añadir la extensión para opcache bajo de la sección de ExtensionList del archivo php.ini. Para PHP 5.3 y 5.4 Usted puede descargar los archivos binarios por separado desde [1] y Usted también necesitará escribir la ruta absoluta completa al dll del módulo en php.ini.

[ExtensionList]
...
zend_extension=php_opcache.dll
max_accelerated_files

Arriba se recomienda que opcache.max_accelerated_files se ajuste en 4000. De: php.net max-accelerated-files

  • The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } that is bigger than the configured value. Only numbers between 200 and 100000 are allowed.

Al configurar max_accelerated files a 4000 se permitirá que 7963 archivos PHP sean cacheados en la tabla hash. Mientras que esto puede ser una recomendación apropiada para muchas instalaciones, existen aproximadamente ~7000 archivos PHP en el núcleo de Moodle 2.7. Si su versión de Moodle usa muchos plugins adicionales (complementos), o si por alguna razón su número total de archivos PHP cacheados en cobertura es probable que excedan de 7963, valdría la pena aumentar este número. Yo (el autor en inglés) sugeriría que la recomendación por defecto fuera de 8000 en lugar de 4000. (O, de hecho, usar uno de los números (-1) en el conjunto primario de arriba.)

Vea también

Forum discussions: