Image

Base de conocimientos → Aumentar la velocidad del sitio web usando la configuración de PHP 8

[Servidores virtuales] [Aplicaciones en VPS/VDS]
Fecha de publicación: 26.03.2024

PHP 8 tiene nuevas funciones para optimizar el rendimiento y una nueva función que aumenta la velocidad de los scripts llamada compilación JIT (Just In Time).

Los lenguajes de programación interpretados puros no tienen paso de compilación y ejecutan código directamente en la máquina virtual. La mayoría de los lenguajes interpretados, incluido PHP, en realidad tienen un paso de compilación liviano para mejorar el rendimiento.

Por otro lado, los lenguajes de programación anticipados (AOT) requieren que el código esté compilado antes de poder ejecutarse.

La compilación Just In Time (JIT) es un modelo híbrido de intérprete y compilación anticipada en el que parte o la totalidad del código se compila, a menudo en tiempo de ejecución, sin la necesidad de que el desarrollador lo compile manualmente.

Esta opción se controla en el módulo opcache. Este módulo está diseñado para acelerar la operación de scripts y habilitar JIT acelera aún más la ejecución de scripts, es decir. permite una doble aceleración.

Gráfico comparativo de aumento de velocidad.

En nuestro ejemplo usaremos php 8.3.

1. Verifique la disponibilidad del módulo

php8.3 -m | grep OPcache

En el resultado, puede aparecer 2 veces en la sección general y en la sección de módulos Zend. Esto significa que está habilitado.

1.1 Si está apagado, enciéndelo

En nuestro ejemplo, utilizamos Debian 12 y sus rutas pueden diferir.

nano /etc/php/8.3/fpm/conf.d/10-opcache.ini
; configuration for php opcache module
; priority=10
opcache.enable=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=10000
opcache.memory_consumption=192
opcache.max_wasted_percentage=10
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
zend_extension=opcache.so
opcache.jit=on

1.2 Habilitar el módulo en la configuración de php

nano /etc/php/8.3/fpm/php.ini

Agregue al final de la línea de configuración:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=256M
opcache.jit=1235

1.3 Reiniciar fpm

service php8.3-fpm restart
service php8.3-fpm status

1.4 Comprobemos nuevamente la presencia del módulo

php8.3 -m | grep OPcache

1.5 Comprobación con un script

Creemos un archivo php con el siguiente contenido.

touch info.php
nano info.php
<?php
phpinfo();
?>

Abra el script a través del navegador http[s]://domain.tld/info.php y usando Ctrl + f busque la palabra opcache, busque los parámetros de configuración.

Estas líneas indican que el módulo OPcache y el complemento JIT están habilitados.





Sin comentarios aún