Ver destacados

Instalar y configurar OPcache para rendimiento PHP en CentOS 7

Tutorial que explica cómo realizar la intalación y configuración de OPcache en CentOS 7 para medir el rendimiento de PHP paso a paso.
Escrito por
24.9K Visitas  |  Publicado ago 27 2018 21:25
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Uno de los lenguajes de programación mas usados en la actualidad por millones de usuarios es PHP, el cual es útil y práctico para el desarrollo de aplicaciones y lo podemos hallar en todos los servidores de alojamiento web disponibles hoy en día.

 

Tutorial con vídeo sobre cómo instalar la versión estable PHP 5.6 para la compatibilidad de aplicaciones en CentOS 7 de Linux.

 

Una de las ventajas de usar PHP, son sus grandes opciones de usar diversas extensiones en su distribución predeterminada; con lo cual se amplían de forma escalonada los usos de PHP para el desarrollo de las aplicaciones. Una de estas extensiones es OPcache, la cual ayuda a mejorar el rendimiento general de PHP.

 

Es por esta razón que hoy y a través de este estudio, Solvetic explicará como instalar y configurar OPcache en CentOS 7 para ser aún más productivos con PHP.

 

 

¿Qué es OPcache?
OPcache ha sido desarrollado buscando mejorar el rendimiento de PHP almacenando el código de bytes de un script precompilado en la memoria compartida, de modo que así se elimina la necesidad de que el propio lenguaje PHP cargue y analice los scripts en cada petición lo cual se traduce finalmente en un mejor rendimiento.

 

OPcache se incluye en la versión PHP 5.5.0 y posteriores, y está disponible a través de PECL para las versiones 5.2, 5.3 y 5.4 de PHP.

 

No se requiere de ninguna biblioteca externa para compilar esta extensión de PHP de modo que está disponible para todas las distribuciones donde se ejecute PHP sin problema.

 

 


1. Cómo instalar de OPcache en CentOS 7 Linux

 

Paso 1

En primer lugar, vamos a instalar el repositorio EPEL y luego el repositorio REMI usando los siguientes comandos:
yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Ingresamos la letra s para confirmar la descarga e instalación.

 

 

Paso 2

Posteriormente debemos aceptar las llaves GPG correspondientes:

 

 

Paso 3

El siguiente paso consiste en instalar yum-utils la cual es una colección de utilidades para extender las funciones predeterminadas de yum, gracias a ellas, será posible administrar repositorios yum, así como paquetes sin configuración manual y muchas tareas más, para su instalación ejecutamos lo siguiente:
yum install yum-utils

 

Paso 4

Posteriormente debemos confirmar la descarga e instalación de los paquetes:

 

 

Paso 5

Ahora, cuando se haya instalado yum-utils, debemos hacer uso de yum-config-manager para habilitar el repositorio Remi como repositorio predeterminado para instalar diferentes versiones y módulos de PHP, ejecutamos lo siguiente en base a la versión deseada:

 

Para PHP 5.5
yum-config-manager --enable remi-php55

 

Para PHP 5.6
yum-config-manager --enable remi-php56

 

Para PHP 7.0
yum-config-manager --enable remi-php70

 

Para PHP 7.1
yum-config-manager --enable remi-php71

 

Para PHP 7.2
yum-config-manager --enable remi-php72

 

 

Paso 6

Finalmente, procedemos a instalar la extensión OPcache y verificar la versión de PHP con el fin de confirmar que contamos con la extensión OPcache instalada, para ello usamos los siguientes comandos. Aceptamos la descarga e instalación de OPcache.
yum install php-opcache

 

Paso 7

Verificamos la versión de PHP y que cuente con OPcache. Notemos la línea inferior with Zend OPcache v7.0.5, esto indica que Opcache esta correctamente instalado en CentOS 7.

 

 

 

 


2. Cómo configurar la extensión de Opcache en CentOS 7 Linux


Paso 1

El ultimo paso consiste en configurar OPcache editando el archivo /etc/php.d/10-opcache.ini o /etc/php.d/opcache.ini (según sea el caso) con nuestro editor deseado:
nano /etc/php.d/opcache.ini
Allí podemos aplicar los siguientes valores para obtener un mejor rendimiento de PHP:
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

 

Guardamos los cambios usando las teclas siguientes:

 

 

Ctrl + O

 

 

Salimos del editor usando las teclas siguientes:

 

 

Ctrl + X

 

 

Paso 2

Procedemos a reiniciar el servidor web ejecutando alguna de las siguientes líneas:
systemctl restart nginx
O
systemctl restart httpd
En el archivo opcache.ini existen las siguientes variables con su respectivo uso:

 

Esta opción habilita la caché de opcode. Cuando está deshabilitado, el código no es optimizado o almacenado en caché
opcache.enable boolean

 

Esta opción habilita la caché de opcode para la versión CLI de PHP
opcache.enable_cli boolean

 

Administra el tamaño del almacén de memoria compartida utilizado por OPcache, en megabytes
opcache.memory_consumption integer

 

Su función es gestionar la cantidad de memoria utilizada para almacenar cadenas, en Megabytes.
opcache.interned_strings_buffer integer

 

Su tarea es administrar el número máximo de claves en la tabla de hash de OPcache, su valor mínimo es 200 y su valor máximo es 100000 en PHP < 5.5.6, y 1000000 en versiones posteriores.
opcache.max_accelerated_files integer

 

Hace referencia al porcentaje máximo de memoria desperdiciada que está permitida antes de que un reinicio sea programado en la extensión.
opcache.max_wasted_percentage integer

 

Su habilitación permite que OPcache añada el directorio de trabajo actual a la clave del script, y así eliminar las posibles colisiones entre ficheros con el mismo nombre base.
opcache.use_cwd boolean

 

Con su habilitación, OPcache consultará por scripts actualizados cada opcache.revalidate_freq segundos.
opcache.validate_timestamps boolean

 

Mide la frecuencia de verificación de las marcas temporales de Unix de los scripts basado en actualizaciones, en segundos opcache.revalidate_path boolean: al estar deshabilitada, los ficheros cacheados existentes que usen el mismo include_path serán reutilizados por OPcache.
opcache.revalidate_freq integer

 

Al estar deshabilitada, todos los comentarios de la documentación serán eliminados de la caché de opcode con el fin de reducir el tamaño del código optimizado.
opcache.save_comments boolean

 

Con su habilitación, se crea una secuencia de apagado rápido la cual es utilizada de forma que no libera cada bloque asignado, sino que depende del gestor de memoria del Zend Engine para optimizar el apagado de PHP.
opcache.fast_shutdown boolean

 

Es un bitmask que controla cuales permisos de optimización son ejecutados por OPcache
opcache.optimization_level integer

 

Es un hack que debería estar habilitado para funcionar sólo con el fin de evitar errores "Cannot redeclare class
opcache.dups_fix boolean

 

Indica el tamaño de fichero máximo que será almacenado en caché, en bytes
opcache.max_file_size integer

 

Hace referencia a la cantidad de tiempo a esperar el comienzo de un reinicio programado si la caché no se encuentra activa, en segundos
opcache.force_restart_timeout integer

 

Allí se alojan los registros de errores de OPcache
opcache.error_log string

 

Es el modelo de memoria principal que usara OPcache
opcache.preferred_memory_model string

 

Su tarea es proteger la memoria compartida de escrituras inesperadas mientras se ejecutan scripts
opcache.protect_memory boolean

 

Su función es llamar a funciones de la API de OPcache solamente desde scripts de PHP cuya ruta comience con la cadena especifica
opcache.restrict_api string

 

 

Las funciones generales de OPcache son

 

Se encarga de compilar y almacenar en caché un script PHP sin ejecutarlo
opcache_compile_file

 

Obtiene información de configuración sobre el caché
opcache_get_configuration

 

Permite acceder a información de estado sobre el caché
opcache_get_status

 

Invalida una secuencia de comandos en caché
opcache_invalidate

 

Indica si un script está en caché en OPcache
opcache_is_script_cached

 

Permite restablecer el contenido de la memoria caché de opcode
opcache_reset

 

Como vemos, esta extensión de PHP será útil para mejorar de forma notable el rendimiento de este lenguaje y así trabajar de una forma mucho más integral.

 

Tutorial para saber y comprobar qué versión de CentOS tenemos en Linux fácilmente.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!