PHP Workers y WordPress: cómo afectan el rendimiento de tu hosting

Los PHP Workers son un factor importante para ofrecer alojamiento de alto rendimiento para aplicaciones basadas en PHP. Este es especialmente el caso de WordPress, donde se utilizan para manejar todas las tareas en segundo plano, crear páginas web, consultar la base de datos y más.  

En este artículo, veremos la importancia de los PHP workers, incluido qué son y por qué los necesitas.  

¿Qué son los PHP? workers 

Las tareas basadas en PHP en un servidor web a menudo pueden consumir muchos recursos, especialmente para sitios/aplicaciones grandes o complejos. Para ayudar a evitar retrasos y manejar múltiples solicitudes, se emplean los PHP workers.  

Un PHP worker se refiere a un proceso o subproceso responsable de ejecutar el código PHP. Cuando llega una solicitud a un servidor para cargar una página PHP, un trabajador PHP toma esa solicitud, ejecuta el código PHP necesario y luego envía la respuesta adecuada, por ejemplo, en forma de una página HTML. 

¿Qué es PHP-FPM? 

PHP-FPM gestiona procesos PHP. Su principal ventaja es que puede manejar un gran volumen de consultas, lo que lo hace especialmente útil para sitios con mucho tráfico o aplicaciones web complejas.

PHP-FPM mantiene grupos de procesos PHP que pueden servir código PHP sin necesidad de iniciar un nuevo proceso PHP para cada solicitud. 

PHP Workers y WordPress 

Aquí hay un desglose de lo que hace un PHP Worker cuando se realiza una solicitud no almacenada en caché en un sitio web de WordPress: 

  1. Se realiza una visita a la página de WordPress.  
  2. El servidor web recibe esa solicitud y luego la reenvía al controlador PHP apropiado, por ejemplo PHP-FPM. 
  3. PHP-FPM asigna un PHP worker disponible para manejar la solicitud. Los PHP workers cargan el núcleo de WordPress y los complementos y temas necesarios.  
  4. El PHP worker procesa el código PHP; esto también implica consultas de bases de datos y cualquier otra tarea requerida.  
  5. Los PHP workers generan el contenido HTML, que se envía de vuelta al servidor web. 
  6. El servidor web envía la respuesta HTML al navegador del usuario a través de HTTP.  
  7. El navegador procesa el HTML y muestra la página solicitada.  

Combinando PHP Workers con PHP-FPM (que mejora enormemente los tiempos de respuesta de los entornos PHP), tu sitio web se entregará más rápido y a más personas al mismo tiempo. 

Si un sitio web de WordPress contiene mala codificación y consultas MySQL innecesarias, esto puede causar congestión para los PHP workers y tardar mucho más en cargarse. Incluso un solo complemento incorrecto en un servidor rápido puede realmente ralentizar el tiempo de carga inicial de la página. 

¿Por qué necesitas PHP workers? 

El propósito de un PHP worker es manejar solicitudes que no afectan a los datos almacenados en caché de un sitio web. Si se pierde el caché, el PHP worker procesará la solicitud.  

Por ejemplo, cuando varios usuarios acceden a un sitio web de WordPress al mismo tiempo, el servidor web debe manejar todas las solicitudes a la vez.  

La solicitud de cada usuario se procesa por separado y los PHP workers ayudan a garantizar que el sitio web pueda responder a varios usuarios al mismo tiempo. 

¿Qué pasa si no tienes suficientes PHP workers

Para una experiencia web rápida y responsiva, es esencial que tu sitio web tenga suficientes PHP workers.  

Si un servidor web tiene muy pocos PHP workers y recibe demasiadas solicitudes simultáneas, pondrá en cola las solicitudes excedentes hasta que un worker quede libre. Esto puede resultar en tiempos de respuesta lentos o tiempos de espera para los usuarios. 

Cada PHP worker consume memoria y CPU en el servidor, por lo tanto, existe un equilibrio entre tener suficientes trabajadores para manejar el tráfico y no abrumar los recursos del servidor. 

Si tu servidor se queda sin PHP workers con frecuencia, los usuarios pueden experimentar lentitud. Monitorear el uso de los PHP workers y los recursos del servidor puede ayudar a tomar decisiones informadas sobre cómo escalar u optimizar la configuración de tu servidor. 

Cuando los PHP workers disponibles están ocupados, crean una cola en segundo plano y esto puede resultar en:

  • Carga de página web más lenta
  • Páginas que no responden
  • Ralentización de la base de datos
  • Tiempo de inactividad temporal (502, 504 y otros errores)

Obviamente, esto puede causar una experiencia negativa para los visitantes del sitio web y afectar el SEO del sitio web.  

Los PHP workers permiten que tu sitio web maneje múltiples solicitudes a la vez. Esto es clave para mantener una experiencia de usuario receptiva, especialmente durante períodos de mucho tráfico. 

A continuación veremos algunas sugerencias sobre cómo mitigar estos problemas… 

Optimiza tu código de WordPress 

Utiliza complementos de calidad y evita temas pesados. Al elegir tus complementos y temas, sé atento a la frecuencia con la que el desarrollador los mantiene actualizados. Si el complemento o tema no se ha actualizado en muchos meses, probablemente sea mejor evitarlo.  

A WordPress le gusta mantener actualizadas sus versiones principales y con frecuencia se lanzan nuevas versiones principales.

Si un complemento o tema no se ha actualizado durante mucho tiempo, es probable que se haya retrasado con las actualizaciones principales de WordPress y haya conflictos, lo que provoca problemas de rendimiento y seguridad en el sitio web.  

Usar almacenamiento en caché 

El almacenamiento en caché almacena contenido estático que se entrega mucho más rápidamente y no tiene ningún impacto en su servidor o en los PHP workers cuando se solicita, ya que el servidor web no necesita enviar nada a PHP para procesarlo y generar la página.  

Sin una caché de código de operación, los scripts PHP se cargan, analizan, compilan y ejecutan con cada solicitud, lo que puede ser un proceso que requiere mucho tiempo. 

Elige un host que no limite los PHP workers

Es común que los proveedores de alojamiento limiten los PHP workers en sus planes de alojamiento y solo se aumenten cuando se actualiza el plan. 

Para concluir, los PHP workers desempeñan un papel fundamental al garantizar que tu sitio web de WordPress sea rápido y receptivo bajo una carga pesada.