Ejecutar un sitio de WordPress de forma fluida y eficiente implica comprender elementos técnicos, como los límites de memoria PHP y los PHP workers. Pero, ¿qué significan exactamente estos términos y cómo afectan al rendimiento de tu sitio de WordPress?

Piensa en tu sitio WordPress como en una cafetería abarrotada. El límite de memoria de PHP es como el espacio de almacenamiento para el grano de café, la leche y otros ingredientes. Si el espacio de almacenamiento es demasiado pequeño, tus baristas (procesos PHP) tendrán dificultades para preparar bebidas de forma eficiente porque se quedan sin provisiones. Por otra parte, los PHP workers son como los baristas que tienes en plantilla. Más baristas significa que se pueden preparar más bebidas simultáneamente, reduciendo los tiempos de espera de los clientes.

Este artículo explica el límite de memoria PHP y los PHP workers, cuándo ajustarlos para un rendimiento óptimo, y cómo hacerlo en los servidores de Kinsta.

¿Qué es el límite de memoria PHP?

Cada vez que tu sitio carga una página, activa un plugin o utiliza una función de un tema, se ejecutan scripts PHP, que necesitan memoria para funcionar correctamente. El límite de memoria PHP determina a cuánta memoria tiene acceso tu sitio de WordPress.

Necesitarás un límite de memoria PHP lo suficientemente alto como para que tu sitio pueda manejar todas sus tareas sin encontrarse con problemas como:

  • Carga lenta de las páginas — Una memoria insuficiente puede ralentizar la ejecución de los scripts PHP, provocando tiempos de carga de las páginas más largos.
  • Fallos de los plugins — Los plugins que consumen muchos recursos pueden no funcionar correctamente si no tienen suficiente memoria.
  • Pantalla blanca de la muerte — Cuando un script PHP se queda sin memoria, tu sitio puede mostrar una pantalla en blanco en lugar de cargarse correctamente.

¿Qué son los PHP workers?

Los PHP workers son otro componente crucial que afecta al rendimiento de tu sitio de WordPress. Los workers son procesos en segundo plano de un servidor que gestionan la ejecución del código PHP que alimenta tu sitio.

En WordPress, estos workers son responsables de crear páginas, procesar tareas programadas y mucho más. También generan páginas HTML para servir a los visitantes de tu sitio y determinan cuántas peticiones simultáneas sin caché puede gestionar tu sitio en un momento dado.

Cuando un visitante accede a tu sitio de WordPress, se envía una petición al servidor, que es procesada por un PHP Worker. Se pueden procesar varias peticiones simultáneamente si tu sitio tiene varios PHP Workers. Por ejemplo, si tu sitio tiene dos PHP Workers y entran cinco peticiones simultáneamente, dos se procesarán inmediatamente, mientras que las otras tres esperarán en la cola hasta que se hayan completado las dos primeras.

Este sistema de colas ayuda a gestionar el tráfico, pero también significa que un número insuficiente de PHP Workers puede provocar retrasos y tiempos de respuesta más lentos cuando se realizan varias peticiones a la vez.

Gestión de los límites de memoria PHP

El límite de memoria PHP por defecto de Kinsta es de 256 MB, que es más que suficiente para la mayoría de plugins y sitios de WordPress.

También es importante saber que si estableces el límite demasiado alto, un script mal configurado o roto puede causar graves problemas al utilizar demasiada memoria.

Cuándo aumentar el límite de memoria PHP

Aumentar el límite de memoria PHP puede ser esencial para mantener el rendimiento y la estabilidad de tu sitio de WordPress cuando se trata de tareas que consumen muchos recursos.

La señal más común de que tu límite de memoria PHP necesita ser incrementado es cuando encuentras mensajes de error como «Allowed memory size exhausted (Tamaño de memoria permitido agotado)». Esto indica que el límite de memoria actual es insuficiente para ejecutar tareas.

Aquí tienes un ejemplo de cómo puede ser el mensaje de error:

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)

Este mensaje significa que el script PHP intentó asignar más memoria que los 256MB (268.435.456 bytes) permitidos, lo que ha provocado un error de memoria agotada. El script intentó asignar 20 KB (20.480 bytes) adicionales, pero se quedó sin memoria.

Si tu sitio está alojado en Kinsta, estos errores de memoria agotada se registran automáticamente. Puedes comprobar estos errores en el panel de control de MyKinsta. Navega a tu sitio y selecciona la pestaña Logs.

Registro de errores de MyKinsta del sitio de WordPress.
Registro de errores de MyKinsta del sitio de WordPress.

Busca entradas que incluyan «PHP Fatal error» y «Allowed memory size exhausted» Estos registros indicarán el límite exacto de memoria excedido y la memoria adicional que el script intentó asignar.

Controlando estos registros, puedes identificar si tu sitio alcanza con frecuencia el límite de memoria PHP y decidir si debes aumentar la asignación de memoria para garantizar una ejecución fluida del script.

Cómo aumentar el límite de memoria PHP de tu sitio web

Cuando sea necesario aumentar el límite de memoria PHP de un sitio, los clientes de Kinsta pueden adquirir un add-on de límite de memoria PHP.

Este add-on aumenta el límite de memoria de 256MB a 512MB por 50$ al mes por sitio.

Para adquirir este add-on, ponte en contacto con el equipo de Gestión de Cuentas a través del chat en directo del panel MyKinsta o envíanos un correo electrónico a [email protected].

Gestión de PHP workers

Los PHP workers son especialmente importantes para los sitios que no almacenan mucho contenido en caché. Cuanto más dinámico sea un sitio, más PHP workers necesitará. El contenido almacenado en caché no requiere PHP workers; sólo es necesario cuando el sitio consulta la base de datos para obtener o cambiar información o cuando necesita ejecutar otros scripts PHP.

Esto significa que un almacenamiento en caché eficaz puede reducir significativamente la carga de trabajo de los PHP workers al servir contenido en caché en lugar de generarlo dinámicamente para cada solicitud.

En Kinsta, damos prioridad al rendimiento de tu sitio implementando diversas tecnologías para maximizar el rendimiento de PHP. Ofrecemos caché de páginas a nivel de CDN y servidor, utilizamos servidores premium (máquinas virtuales C2 y C3D) equipados con las CPU más rápidas de Google Cloud, y garantizamos un servidor MySQL altamente optimizado alojado localmente para reducir la latencia de la red y mejorar la velocidad de recuperación y procesamiento de datos.

Cuándo añadir más PHP workers

El número de PHP workers necesarios depende de varios factores, como su dependencia de las consultas a la base de datos, la optimización del código y el tipo de tráfico que recibe.

Un sitio optimizado con código PHP y consultas a la base de datos eficientes procesará las peticiones rápidamente, liberando PHP workers para la siguiente petición.

Los sitios dinámicos, como las tiendas de comercio electrónico, los foros, los sitios de aprendizaje y los sitios de membresía, suelen necesitar más PHP workers que los sitios estáticos informativos. Además, los sitios más concurridos suelen necesitar más PHP workers para gestionar el aumento de tráfico.

Añadir más PHP workers puede ayudar a gestionar el aumento de tráfico y reducir los tiempos de espera para procesar las peticiones, pero es esencial equilibrarlo con los recursos de CPU y RAM disponibles. Si el servidor no tiene suficiente CPU y RAM para soportar PHP workers adicionales, puede crear un cuello de botella, lo que provocaría problemas de rendimiento.

Con Kinsta, puedes monitorizar la actividad de los PHP workers utilizando la herramienta APM de Kinsta para identificar problemas de rendimiento y consultas lentas.

Herramienta APM de Kinsta en MyKinsta.
Herramienta APM de Kinsta en MyKinsta.

Si tu sitio alcanza con frecuencia su límite de PHP workers, puede que necesites añadir más PHP workers u optimizar el código y las consultas de tu sitio para mejorar el rendimiento.

Cómo añadir más PHP workers

Para añadir más PHP workers a tu sitio, puedes actualizar tu plan de alojamiento o comprar PHP workers adicionales. A continuación te explicamos cómo hacerlo:

  • Actualiza tu plan de alojamiento — Cada plan de Kinsta tiene un número específico de PHP workers. Actualizar a un plan de nivel superior aumenta el número de PHP workers de tu sitio. Por ejemplo, si pasas de un plan starter a un plan business, tus PHP workers aumentarán de dos a cuatro.
  • Planes personalizados — Para sitios con necesidades específicas, Kinsta ofrece planes personalizados en los que puedes especificar el número de PHP workers necesarios. Esto es ideal para sitios con mucho tráfico o con mucho contenido dinámico. Ponte en contacto con el equipo de ventas de Kinsta para hablar de tus necesidades y obtener un presupuesto personalizado.

Al aumentar el número de PHP workers, puedes ayudar a tu sitio a gestionar más peticiones simultáneas, lo que se traduce en un mejor rendimiento y una experiencia de usuario más fluida.

Sin embargo, asegúrate siempre de que tu servidor tiene suficientes recursos de CPU y RAM para soportar los PHP workers adicionales, para evitar crear cuellos de botella en el rendimiento.

Buenas prácticas para la gestión de recursos PHP

La gestión eficaz de los recursos PHP es crucial para mantener el rendimiento y la estabilidad de tu sitio de WordPress.

Aquí tienes algunas buenas prácticas para optimizar el uso de la memoria y de los workers PHP:

  1. Almacenamiento eficiente en caché — Implementar mecanismos de almacenamiento en caché robustos puede reducir significativamente la carga de los PHP workers. Al servir contenido en caché a los visitantes, minimizas el número de peticiones que deben procesar los PHP workers, liberándolos para tareas más dinámicas.
  2. Optimiza el código y las consultas — Asegúrate de que tu código PHP y las consultas a la base de datos están bien optimizados. La ejecución eficiente del código y la racionalización de las interacciones con la base de datos reducen el tiempo de procesamiento, lo que permite a los PHP workers gestionar más peticiones en menos tiempo.
  3. Actualiza las versiones de PHP — Actualiza regularmente a las últimas versiones de PHP, que a menudo incluyen mejoras de rendimiento y de seguridad. Las versiones más recientes de PHP suelen ser más rápidas y eficientes.
  4. Monitoriza el uso de recursos — Utiliza herramientas como APM o Query Monitor de Kinsta para evaluar el uso de recursos. La monitorización ayuda a identificar cuellos de botella e ineficiencias en tiempo real, lo que te permite tomar medidas correctivas con rapidez.

Resumen

Gestionar eficazmente los recursos PHP es crucial para el rendimiento y la estabilidad de los sitios de WordPress alojados en Kinsta. Este artículo ha explorado los límites de memoria PHP y los PHP workers, sus funciones y cómo optimizar su uso.

Para obtener recomendaciones personalizadas o aumentar tu límite de memoria PHP o PHP workers, abre un nuevo ticket o envía un correo electrónico a [email protected].

Joel Olawanle Kinsta

Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 200 technical articles majorly around JavaScript and it's frameworks.