Cache de código intermedio

RECU-0756 (Recurso Ejemplo)

Descripción

Realizar la compilación del código de PHP en el servido consume tiempo:

  • El código de PHP es recompilado cada vez que hay una petición
  • Compilar algunos archivos de PHP toma más tiempo que ejecutarlos, en particular si estos incluyen muchos otros archivos (clases, configuración, etc.)

En esta fase, los archivos con código PHP normalmente no sufren modificaciones por lo que se puede utilizar un software especializado que ofrezca la posibilidad de cachear el código intermedio( es decir el código PHP cuya sintaxis ya ha sido revisada y se han eliminado los fragmentos innecesarios como comentarios), de manera que se simplifica el trabajo al compilador. Cada vez que se carga un archivo PHP, parte de este trabajo ya está realizado.

Normalmente los cachés de código intermedio leen datos de los archivos PHP y del dispositivo donde está almacenado para crear un identificador único para el mismo y así evitar que un mismo archivo sea leído varias veces en una misma petición. De esta manera se consiguen las siguientes mejoras:

  • Se elimina la etapa de parseo del código intermedio PHP.
  • Se reduce el consumo de recursos de disco duro y optimizaciones al código intermedio.
  • Las aplicaciones que normalmente realicen peticiones cortas con una inclusión moderada de otros archivos en la misma pueden obtener mejoras hasta del 200% y 300%.
  • Para procesos largos la optimización puede ser del 30% al 40%. En cualquier caso la mejora siempre es considerable.

La mayor ventaja de los cacheadores de código intermedio es que no requieren que la aplicación sea desarrollada bajo ningún tipo de estándar o con algún requerimiento especial. La única limitación es que PHP debe estar instalado como un módulo del servidor o usando FastCGI, esto se debe a que los datos del código intermedio se almacenan en memoria compartida y ésta no está disponible para módulos CGI.

Contenidos relacionados

Pautas