PHP

PHP (Preprocesador de Hipertexto) es un lenguaje de programación de código abierto especialmente adecuado para el desarrollo web. Se ejecuta en el lado del servidor, lo que significa que procesa el código en el servidor web antes de enviarlo al cliente (navegador). WordPress se basa en PHP; por lo tanto, es esencial para los sitios de WordPress. PHP permite a tu sitio de WordPress:

  • Generar contenido dinámico y mostrarlo en un sitio web en tiempo real.
  • Interactuar con tu base de datos, permitiéndole obtener y almacenar datos.
  • Manejar formularios y procesar las entradas de los usuarios, haciendo que los sitios de WordPress sean más interactivos.
  • Utilizar temas y plugins para ampliar las capacidades básicas de WordPress.
  • Mejorar el rendimiento garantizando que gran parte del trabajo pesado se realiza en el servidor web antes de que el contenido llegue al navegador del usuario.

Cómo se procesa PHP

Cuando un visitante visita una página sin caché o realiza una acción en una página (por ejemplo, añadir algo a un carrito, enviar un formulario, etc.), se produce el siguiente proceso:

  1. El servidor web (Aquí en Kinsta, Nginx) recibe esa petición.
  2. Nginx pasa la solicitud a PHP, que se asigna a un hilo PHP disponible.
  3. El hilo PHP ejecuta el script PHP (por ejemplo, obteniendo datos de la base de datos o procesando formularios).
  4. Durante el procesamiento, el hilo PHP utiliza una parte de la memoria del servidor hasta el límite de memoria PHP establecido en Kinsta.
  5. Si hay varios visitantes simultáneos, cada solicitud se asigna a un hilo PHP diferente. Si todos los hilos están ocupados, las solicitudes adicionales esperan hasta que un hilo esté disponible.
  6. A continuación, PHP genera una página HTML utilizando los archivos PHP de tu tema (y los archivos de cualquier plugin, si procede).
  7. PHP devuelve la página HTML generada al servidor web.
  8. La página se sirve al visitante.

Si tu sitio no utiliza caché o no está optimizado, los hilos PHP pueden estar ocupados durante más tiempo, lo que puede degradar el rendimiento y provocar tiempos de espera o errores 503 y 504 cuando los visitantes accedan a tu sitio. Para obtener información sobre cómo comprobar el rendimiento de PHP y cómo optimizar tus hilos PHP, consulta Rendimiento de PHP.

Hilos PHP

Los hilos PHP (antes conocidos como PHP workers) son procesos PHP individuales responsables de gestionar las peticiones entrantes a tu sitio web. Cada hilo procesa una petición a la vez, lo que significa que si tienes dos hilos, sólo se pueden procesar dos peticiones simultáneamente.

Una vez que un hilo PHP termina de procesar una petición (por ejemplo, renderizando una página o recuperando datos de una base de datos), queda libre para gestionar la siguiente.

Los hilos PHP entran realmente en juego cuando un sitio no almacena o no puede almacenar en caché la mayor parte de su contenido. Cuanto más dinámico sea un sitio web, más hilos PHP necesitará. El contenido almacenado en caché no requiere hilos PHP; en realidad sólo son necesarios cuando el sitio necesita consultar la base de datos para obtener o cambiar información. Un sitio optimizado gestiona las peticiones rápidamente, liberando hilos PHP para la siguiente petición de la cola.

Para más información sobre cómo optimizar tus hilos PHP, consulta Rendimiento de PHP.

Planes Kinsta e hilos PHP

La siguiente tabla muestra el pool PHP por defecto, el número de hilos y la memoria por hilo que se incluyen por defecto en cada plan de Kinsta:

PlanTamaño del poolNúmero de hilosMemoria por hilo
Single 35k512 MB2256 MB
Single 65k1GB4256MB
Single 125k1.5GB6256MB
Single 315k1.5GB6256MB
Single 500k2GB8256MB
Single 750k2GB8256MB
WP 2512MB2256MB
WP 51GB4256MB
WP 101GB4256MB
WP 201.5GB6256MB
WP 401.5GB6256MB

Puedes cambiar el número de hilos PHP para cada sitio dentro de los sitios WordPress > nombre del sitio > Información > Rendimiento PHP > Cambiar.

Los siguientes planes no tienen acceso actualmente a la función de rendimiento PHP ni a los pools PHP. Sin embargo, incluyen el siguiente número de hilos PHP por defecto:

PlanHilos PHP por sitio
Single 1,25M10
Single 1,9M12
Single 2,5M14
Single 3,15M16
WP 608
WP 8010
PT 12012
LB 15014
Agency 206
Agency 406
Agency 608

Límite de memoria PHP

El límite de memoria PHP define la cantidad máxima de memoria (RAM) que cada hilo PHP puede utilizar mientras procesa una petición.

Este límite es crucial porque los scripts PHP (especialmente en WordPress) a menudo tienen que gestionar tareas que consumen mucha memoria, como grandes consultas a bases de datos, subidas de archivos multimedia o cálculos complejos.

Si un script supera el límite de memoria establecido, se produce un error (por ejemplo, «Tamaño de memoria permitido agotado»). Esto evita que un script consuma recursos excesivos del servidor.

Planes Kinsta y memoria PHP

El límite de memoria por defecto de Kinsta es de 256 MB para los planes Single 35k, 65k, 125k, 315k, 500k y 750k, y WP 2, 5, 10, 20 y 40, lo que es más que suficiente para la mayoría de plugins y sitios de WordPress. Los planes Single 1,25M, 1,9M, 2,5M y 3,15M, WP 60, 80, 120 y 150, y Agency 20, 40 y 60 tienen un límite de memoria de 512 MB. Este límite existe para evitar que los scripts PHP consuman demasiada memoria. Si estableces un límite demasiado alto, un script mal configurado o roto puede causar graves problemas al consumir demasiada memoria.

Puedes cambiar el límite de memoria PHP de un sitio dentro de sitios WordPress > nombre del sitio > Información > Rendimiento de PHP > Cambiar.

Interacción entre los hilos PHP y la memoria

El número de hilos PHP no debe confundirse con el límite de memoria PHP. Los hilos PHP son procesos PHP individuales que gestionan las peticiones web entrantes, mientras que el límite de memoria PHP especifica la cantidad máxima de memoria (RAM) que un único script PHP puede utilizar durante su ejecución.

Los hilos PHP gestionan la concurrencia procesando múltiples peticiones simultáneamente, mientras que el límite de memoria PHP gestiona la asignación de recursos restringiendo el uso de memoria de los scripts individuales. Esto evita que un único script utilice toda la memoria disponible del servidor.

Los límites de memoria PHP son importantes para los scripts que requieren mucha memoria, como los que realizan grandes consultas a bases de datos, manejan grandes cargas de archivos o ejecutan cálculos complejos. Si encuentras errores de límite de memoria en tu sitio, aumentar el número de hilos PHP no resolverá este problema. En su lugar, debes aumentar la memoria por hilo en sitios WordPress > nombre del sitio > Información > Rendimiento de PHP > Cambiar.

Interacción entre hilos PHP, CPU y RAM

Al añadir hilos PHP, hay que tener en cuenta los recursos de CPU y RAM. Si aumentas el número de hilos PHP, pero el servidor necesita más CPU y RAM para soportar esos hilos, se creará un cuello de botella porque las peticiones no se gestionarán eficientemente.

En Kinsta, cada contenedor LXD personalizado está configurado con 12 CPUs y 8 GB de RAM. Además, al utilizar máquinas virtuales C2 y C3D optimizadas para el cálculo y equipadas con las CPU más rápidas de Google Cloud, ayudamos a que los hilos PHP de tu sitio se ejecuten de forma más eficiente. Nuestra infraestructura escalable garantiza que los hilos PHP de tu sitio de WordPress tengan suficientes recursos de CPU para funcionar al máximo rendimiento.

Valores PHP predeterminados

Como servicio Administrado de WordPress, Kinsta tiene configurados los ajustes PHP óptimos para funcionar mejor con sitios de WordPress. Si tienes requisitos específicos de PHP, no dudes en ponerte en contacto con nuestro Equipo de Soporte para hablar de tus necesidades.

Kinsta ofrece PHP 7.4, 8.0, 8.1, 8.2, 8.3 y 8.4. Estas son las configuraciones por defecto para PHP:

  • memory_limit = 256M
  • post_max_size = 128M
  • upload_max_filesize = 128M
  • max_input_vars = 10000
  • max_execution_time = 300
¿Este artículo te ha resultado útil?