El WordPress API Heartbeat, introducido en WordPress 3.6, simula un pulso y es responsable de seguimiento de revisiones, gestión de sesiones, y más. El pulso es de alrededor de 98 Bytes de tamaño, pero puede causar problemas de rendimiento en ciertas situaciones.

Si usted ha sido notificado por su servicio de hosting que su cuenta está utilizando demasiados recursos y citar POSTE /wp-admin/admin-ajax.php como la causa, es probable que se deba a la API de Heartbeat.

¿Cómo trabaja la API Heartbeat?

Inmotion Hosting tiene un excelente artículo que explica cómo funciona el API Heartbeat. Si supervisa las solicitudes del servidor mientras que en el editor de entradas, verás

POSTE /wp-admin/admin-ajax.php “http://example.com/wp-admin/index.php
aparecen cada 15 segundos. Este es el pulso generado por el API.

El pulso se asegura de que usted tiene una conexión permanente con el servidor web y proporciona una manera para que los desarrolladores los eventos de disparo. Por ejemplo, si el pulso tarda 30 segundos o más para procesar, WordPress muestra un error de conexión e intenta volver a conectarse al servidor.

El problema

Hay varias situaciones en las que se genera un impulso de forma automática, o por un usuario. La mayoría de los pulsos de tiempo son inofensivas y no hacen nada.

Cada pulso (petición POST) realiza un script PHP que equivale a tiempo de CPU en el servidor. En un experimento, InMotion Hosting dejó el salpicadero abierta durante media hora y se dio cuenta de 25 ejecuciones de script PHP que utilizan 5.77 CPU segundos. La pequeña cantidad de tiempo de CPU se utiliza para hacer nada.

PulseExecutionTimeEl problema se agrava por el hecho de que cada usuario que tenga acceso al backend de WordPress genera un impulso. Como el número de usuarios de la navegación por el backend WordPress aumenta simultáneamente, también lo hace el número de pulsos generados a partir de la API.

Si un proveedor de alojamiento web tiene límites estrictos sobre el número de procesos o recursos utilizados, que fácilmente podría ir por encima del límite.

Cómo controlar la API Heartbeat

Control de los latidos del corazón , desarrollado por Jeff Matson , es un nuevo plugin que le permite controlar el intervalo de pulsos. Después de activar el plugin, usted encontrará los ajustes ubicados en Herramientas> Control de Heartbeat.

HeartbeatControlSettings

¿Por qué InMotion Hosting no tiene acelerador El API por defecto?

Si aumentar el intervalo de pulso desde 15 a 60 segundos aumenta el rendimiento del servidor, ¿por qué no InMotion Hosting acelerador el API en cada servidor de alojamiento web?

Matson, que trabaja para InMotion Hosting, dice una talla única para todos enfoque no funciona. “La razón por la que no lo hacemos es porque hay algunos usuarios que lo requieran en la tasa de morosidad o una frecuencia aún mayor. Al realizar cambios a nivel de servidor, usted tiene que tener mucho cuidado de que no impactan el sitio de un cliente “.

Matson Continúa diciendo que, “Como anfitrión, el objetivo número uno es hacer felices a los clientes y restringiendo el funcionamiento normal del sitio de un usuario es inaceptable.”

Cómo HostGator Casi elimina WP Tavern

Me solidarizo con los que utilizar HostGator ya que tienen una estricta restricción de recursos de la CPU . Si los pulsos de la API Heartbeat causan la CPU para ser ocupado o causar una copia de seguridad en los procesos, usando 25% de la CPU más de 90 segundos es fácil de hacer.

La política de HostGator para utilizar demasiados recursos es suspender la cuenta. Esto hace que sea imposible de solucionar el problema. Si supera la asignación de recursos más de cinco veces, el sitio se elimina del servidor y su cuenta está prohibido.

HostGatorResourcePolicy

A finales de 2013, cuando WP Tavern utiliza HostGator, experimenté de primera mano lo que es tener un sitio web en suspensión. Cuando he actualizado la taberna a WordPress 3.6, que introdujo la API de latido del corazón, me puse a experimentar problemas . El sitio se cerraba de forma rutinaria y cuando vi la pestaña de procesos en cPanel, lo que parecía un simple proceso repetido, lo que lleva a una denegación de servicio.

siteoffline

No puedo confirmar si la API Heartbeat era el culpable, pero es alto en mi lista de sospechas. Después de suspender el Tavern dos veces, HostGator me informó que si el sitio fue suspendido de nuevo, sería eliminado del servidor sin darme la oportunidad de que lo respalde. Ni que decir tiene, me cambié anfitriones inmediatamente.

No terminen en una situación similar

Si está utilizando un servicio de alojamiento web con estrictos límites de recursos, considere la instalación de control Heartbeat para limitar el número de pulsos. No sólo va a significar menos llamadas al servidor, pero puede conducir a un aumento de rendimiento también. Mantenga una estrecha vigilancia sobre los recursos utilizados y si te acercas al gasto excesivo, es una señal de que usted necesita para actualizar a un plan mejor. No terminar en una posición en la que puede perder su sitio!