jueves, 18 de septiembre de 2014

Cónoce acerca de la extensión OPcache de PHP 5.5


Si bien sabemos, PHP es un lenguaje de programación interpretado, lo cual significa que cada vez que  se ejecuta un archivo PHP, primero deberá compilarse. Si un archivo no cambia con frecuencia, resulta absurdo perder el tiempo compilando una y otra vez un archivo que no ha cambiado.
Por ESE Motivo, Hace MUCHOS Jahr surgieron systems caché de como APC Que guardan los Archivos compilados y los utilizan MIENTRAS el archivo original, sin Cambie. Si Activas APC es Fácil Multiplicar el RENDIMIENTO de la Aplicación de Entre 2 y 10 Veces pecan Tocar Una Sola Línea de Código.
La versión 5.5 de PHP introducir Una Llamada caché nueva OPcache y Que esta destinada a reemplazar un APC. En Realidad, OPcache Es El Nuevo Nombre del Producto Zend Optimizer + Que la Empresa Zend LLEVA Jahr utilizando en sus Información Servicios. ESTO SIGNIFICA OPcache Que Es Un Producto maduro y probado en miles de Servidores de Todo tipo. Ademas, OPcache Es Un Hasta 20% Rápido Más Que APC en los muchas Pruebas de RENDIMIENTO estafa Aplicaciones PHP Típicas ( ver Pruebas de RENDIMIENTO ).  

Instalando la extensión OPcache

Si utilizas PHP 5.5, OPcache ya esta Instalado y configurado. Si utilizas PHP 5.2, 5.3 o 5.4, PUEDES emplear el Paquete ZendOpcache de PECL Correspondiente a tu version.  
Si ya la Tienes instalada y no te aparece Dentro De Las Extensiones Activadas, envíale Que Tengas Que AÑADIR o descomentar la siguiente línea ahora en tu archivo php.ini : 
; en Servidores Linux y Mac
zend_extension = /ruta/hasta/la/librería/opcache.so
 
; en Servidores de Ventanas
zend_extension = C: \ ruta \ Hasta \ el \ archivo \ php_opcache.dll
Si ADEMÁS de OPcache utilizas la extensión Xdebug, Asegúrate de cargar Primero la extensión OPcache Dentro de tu archivo de configuracion.

Configurando la extensión OPcache

El Manual oficial de PHP Recomienda la siguiente configuracion párr la extensión OPcache:  
opcache.enable = 1
opcache.enable_cli = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
La siguiente tabla Explica Cada uña de ESTAS OPCIONES Y Also indica do valor Por Defecto:
OpciónValor InicialDescripción
opcache.enable1Activa la extensión. Cambia do valor a 0 Desactivar OPcache párrafo  
opcache.enable_cli0Activa OPcache CUANDO SE ejecuta PHP en La Línea de Comandos
opcache.memory_consumption64CANTIDAD de memoria en MB Que Puede del Consumir la caché de OPcache
opcache.interned_strings_buffer4CANTIDAD de memoria en MB utilizada párr guardar cadenas de Texto Que se pueden Calcular En Tiempo de compilación en Vez de ejecución resuelve
opcache.max_accelerated_files2000Número Máximo de Archivos Que se compilan. El Dębe valor ESTAR Entre 200 y 100.000
opcache.revalidate_freq2Cada Cuantos Segundos sí comprueba si la ONU archivo Compilado ha Cambiado. Si el valor es 0 , sí comprueba en cada en PETICIÓN. Desactivar Para this comprobación, utiliza la Opción opcache.validate_timestamps 
opcache.fast_shutdown0Sí se activa, la extensión OPcache no libera la memoria Ocupada, Sino Que delega ESA tarea en el gestor de memoria del motor Zend de PHP. Mejora Activar this Opción EL RENDIMIENTO, Pero la memoria en sí reserva Durante Más Tiempo
Si comparas la tabla anterior (Que Muestra los Valores Por Defecto de OPcache) la de la estafa configuracion Que recomiendan en el manual de oficial de PHP (mostrada anteriormente), complejas Verás Que la configuracion Recomendada es Más Apropiada párr Aplicaciones PHP, COMO EJEMPLO Por las Que utilizan marcos  de Como Symfony y Zend.
Al Margen de las Recomendaciones Anteriores, La Mejor configuracion del siempre es La que se ajusta a tu Mejor Servidor y tus applications. No Olvides ProBar Diferentes Valores párr Cada Opción de configuracion y Analiza las Mejoras o Perdidas de RENDIMIENTO Que consigues estafa Cada Cambio. ASI conseguirás Llegar a la configuracion párrafo ideales tu Servidor.

Configuracion Avanzada

La extensión OPcache Tiene Muchas Otras options Que PUEDES Configurar. Para aquellos Programadores Que utilizan marcos de Como Symfony y Zend o Librerías de COMO Doctrine2, la Opción opcache.save_comments es REALMENTE Importante.   
El valor Por Defecto of this Opción es 1 , Lo Que SIGNIFICA Que se mantienen de Todos los comentarios del Código Fuente de los Archivos Que se compilan. Si Cambias do valor a 0 , de Todos los comentarios en sí eliminan, Lo Que Mejora el RENDIMIENTO y reducir significativamente EL Campanadas De Los Archivos compilados.  
El Problema es Que Si eliminas el los comentarios, es Posible Que Estés Rompiendo el Código de Symfony, Doctrina, PHPUnit y los muchas Otras Aplicaciones Que utilizan UNOS comentarios Especiales Llamados Anotaciones párr Modificar el comportamiento del Código.    
Asi Que si utilizas Symfony, Doctrina, Zend Framework o PHPUnit, Asegúrate de Tener la Opción opcache.save_comments = 1 o ma Aplicación dejará de funcionar .  
Otra Opción Muy importante es opcache.enable_file_override , valor Cuyo inical es 0 . Si Cambias do valor un 1 , Cada Vez Que en tu application ejecutes Las Funciones file_exists () , is_file () y is_readable () , sí comprueba si el archivo Primero Que pasas de como un Argumento las Funciones Anteriores ha Sido cacheado. This comprobación envíale mejorar el RENDIMIENTO, Pero un Cambio corres el Riesgo de ESTAR comprobando Archivos cacheados Que ya no existen o de han Cambiado.      
La siguiente tabla Recoge el resto de options Disponibles en OPcache. A Menos Que sepas Muy bien Lo Que Estás Haciendo, Es Mejor Que No modifiques El Valor de ESTAS OPCIONES:
OpciónValor InicialDescripción
opcache.max_wasted_percentage5PORCENTAJE Máximo de memoria desperdiciada Que se Tolera los antes de Forzar reinicio de las Naciones Unidas de OPcache
opcache.use_cwd1Sí se activa, OPcache ANADE el Directorio al Nombre de archivo Cada Que cachea, he aquí Por Que sí reducen las Posibles Colisiones Entre Archivos Con El Mismo Nombre
opcache.validate_timestamps1Sí se activa, los Archivos cacheados sí comprueban periodicamente to see si de han Cambiado. Sí se Desactiva el RENDIMIENTO Aumenta muchísmo, Pero un CAMBIO Debes Reiniciar el Servidor web o Borrar la caché de un archivo de la ONU mano Cada Vez Que cambies
opcache.revalidate_path0Los Archivos cacheados Con El Mismo Nombre y El Mismo include_path sí reutilizan (Puede del Haber Problemas con Archivos Con El Mismo Nombre Pero Distinta Localización)  
opcache.load_comments1Sí se Desactiva, los comentarios del Código fuente No Se Cargan, aunque los Archivos cacheados mantengan organismos europeos de normalización comentarios
opcache.optimization_level0xffffffffSu FORMATO Es El De Una Máscara de bits de Que indica Cuales de las Diferentes Pasadas de OPcache sí ejecutan
opcache.inherited_hack1Opción Válida Solo para PHP 5.2 y qu evita ONU bug Relacionado Con La herencia de Clases
opcache.dups_fix0Activa this Opción Si Se Producen Errores de Tipo "No se puede redeclare class"
opcache.blacklist_filename''Ruta Donde sí ENCUENTRA EL ARCHIVO índica Que Archivos Que No Se Deben cachear (. PUEDES Indicar Directorios Enteros e inclusó Nombres de Archivos Con asteriscos Ej: * Repositroy.php
opcache.max_file_size0Máximo La tortura de archivo en bytes Que Se Puede guardar en la caché. El valor 0 indica Que No Límites de heno  
opcache.consistency_checks0Si es Distinto de 0 la Consistencia de la caché en sí comprueba Cada N Peticiones, Donde N es el valor of this Opción      
opcache.force_restart_timeout180Duranción en Segundos del Tiempo ¡Que se Espera Hasta Reiniciar OPcache en Caso De Que La Cache no Responda
opcache.error_log''Ruta del archivo Donde sí registrarán los Errores Que se produzcan
opcache.log_verbosity_level1Máximo Nivel de Errores Que se guardan en el registro. Por Defecto, Solamente los Errores de Tipo fatal y error  
opcache.preferred_memory_model''No toques this Opción si No Sabes Lo Que Estás Haciendo. This Opción te permite ELEGIR el Tipo de memoria a utilizar Entre los Siguientes Valores: mmap , SHM , POSIX y Win32    
opcache.protect_memory0Opción Reservada párrafo la depuración interna de OPcache
opcache.mmap_basenulaUtilizada Solamente párr Indicar la base de de los SEGMENTOS de memoria Compartida en Ventanas

Utilizando la configuracion de APC en OPcache

Si Estás Acostumbrado a utilizar la caché de APC, la siguiente tabla Muestra el Equivalente en OPcache de las OPCIONES de configuracion Más Habituales de APC:
APCOPcache
apc.enabled = 1opcache.enable = 1
apc.shm_segments = 1  y apc.shm_size = 128M opcache.memory_consumption = 128
apc.num_files_hint = 4000opcache.max_accelerated_files = 4000
apc.stat = 1opcache.validate_timestamps = 1
apc.max_file_size = 2Mopcache.max_file_size = 2
apc.filters = "/ var / www / apc.php"opcache.blacklist_filename = "/ var / www / opcache.txt"

Funciones de OPcache

La extensión OPcache INCLUYE DOS Funciones Muy Útiles CUANDO SE utiliza la caché en el Servidor de Producción. La Primera FUNCIÓN es opcache_reset () Que no admite parametros y devuelve COMO RESULTADO booleano valor un. El Propósito of this FUNCIÓN es Borrar Toda La caché de OPcache (Equivale a al FUNCIÓN apc_clear_cache () ).    
Si utilizas la Opción opcache.validate_timestamps = 0 e instalas Una nueva version de tu Aplicación en el Servidor, el los Cambios No Se tendran baño CUENTA HASTA de Que caduquen del los Archivos cacheados. La Solución Más drástica Suele Ser Reiniciar el Servidor, Pero Con la Función opcache_reset () PUEDES Obtener el Mismo RESULTADO de forma Más elegante.    
La otra Opción Definida Por OPcache es opcache_invalidate () , Que No borra Toda La memoria caché sino-des Único archivo cacheado: 
// Borra el archivo 'index.php' de la caché Solamente si es Más 
// nuevo Que el archivo 'index.php' cacheado 
opcache_invalidate ( 'index.php' ) ;
 
// Borra el archivo 'index.php' de la caché (Importar pecado 
// su fecha de modificacion) 
opcache_invalidate ( 'index.php' ,  true ) ;

Fuente:enlace



Si Quieres Seguir Aprendiendo con Nosotros, PUEDES ingresar a Nuestros 
Cursos y Diplomados  de  Tecnología Web  visita  www.uneweb.edu.ve   párr Más 
Información.

No hay comentarios:

Publicar un comentario

Entradas populares