Resolvendo alto uso de recursos do Heartbeat WordPress

Introduzido no WordPress 3.6, a API do WordPress Heartbeat permite que o WordPress se comunique entre o navegador da Web e o servidor. Ele permite o gerenciamento aprimorado de sessão de usuário, rastreamento de revisão e salvamento automático.

A API WordPress Heartbeat usa /wp-admin/admin-ajax.php  para executar chamadas AJAX a partir do navegador da Web. O que na teoria parece incrível, pois o WordPress pode acompanhar o que está acontecendo no painel de controle.

No entanto, isso também pode começar a enviar pedidos excessivos para admin-ajax.php, o que pode levar a uma alta utilização da CPU. Sempre que um navegador da Web é aberto em uma página usando a API Heartbeat, isso poderia ser um problema.

WordPress Heartbeat API em ação

Algo tratado pela API WordPress Heartbeat é a principal página do painel de administração do WordPress. Se tudo o que você fez foi fazer login no WordPress e, em seguida, minimizar essa janela e começar a trabalhar em outra coisa, você veria os pedidos de admin-ajax.php nos registros de acesso do seu site conforme exemplo abaixo.

Em [00:29:30]Login no painel, e você pode ver o pedido GET inicial /wp-admin/index.php .

Então, em [00:30:31], a API HeartPress de WordPress envia uma  solicitação POST /wp-admin/admin-ajax.phpHeartbeat.

Com o painel do WordPress em foco, uma solicitação Heartbeat deve ser espaçada no máximo de 60 segundos que a API permite. Se o painel estiver fora de foco, o Heartbeat solicita espaço para 120 segundos entre eles.

Agora, cada um desses pedidos POST teve uma execução de script PHP correspondente no servidor usando o tempo de CPU:

Tendo o nosso painel aberto durante mais de meia hora, gerou 25 execuções de script PHP. Com um uso total de 5.77 CPU segundos. Não é terrível, mas também não ótimo, já que usamos a CPU essencialmente procurando que nada acontecesse. Mas não fique preocupado, há uma solução para isso através do uso do plugin Heartbeat Control.

Instalando o plugin Heartbeat Control

  • Primeiro, faça login no painel de administração do WordPress .
  • No seu painel de controle, passe o mouse sobre os plugins e clique em Adicionar novo .

     

  • Nesta página, localize a caixa de pesquisa na parte superior e digite “Heartbeat Control” e pressione a tecla Enter no teclado para executar a pesquisa.

  • Como você procurou o nome exato do plugin, ele deve ser o primeiro resultado que aparece. Para instalá-lo, clique no botão Instalar agora (Install Now) .

 

  • Após instalar o plugin certifique-se de clicar em Ativar Plugin para que inicie o funcionamento.

 

Configurando o plugin Heartbeat Control

Depois de instalado é hora de configurar o plugin.

  • Agora que você tem o plugin Heartbeat Control instalado, você precisará configurar suas configurações. Para acessar a página de configurações, passe o mouse sobre Ferramentas e na barra de menu do lado esquerdo e clique em Heartbeat Control.

  • Uma vez na página de configurações, você notará 2 caixas suspensas diferentes. A primeira caixa permitirá que você desative o heartbeat do WordPress em todo o site ou em locais específicos. Dependendo de suas necessidades, você pode desativar completamente o batimento cardíaco WordPress ou apenas permitir em locais específicos, como na página de edição de postagem.

 

 

  • A segunda caixa permite que você determine a frequência com que a API heartPress de WordPress faz uma solicitação. Por exemplo, em páginas de edição de publicação, faz uma solicitação de POST a cada 15 segundos. Isso pode ser modificado dentro do menu suspenso de freqüência cardíaca para atrasar até 60 segundos entre solicitações que reduzem os recursos do servidor causados ​​por pedidos de administração-ajax em 75%.

 

  • Depois que suas alterações forem feitas, clique em Salvar alterações .

 

Pronto! Agora você modificou o comportamento da API heartPress de WordPress para usar menos recursos no servidor.

Este artigo foi útil?

(178 de 179 pessoas acharam este artigo útil.)