Usuários do WordPress vem enfrentando uma série de problemas relacionados ao arquivo admin-ajax.php, isso é observado desde a versão 3.6 da plataforma. O que ocorre é que o arquivo admin-ajax.php sofre execuções massivas tanto por parte dos plugins utilizados quanto do próprio sistema do WordPress.
Há alguns dias, a Hostnet tem recebido diversas solicitações de verificação. Usuários que instalaram o WordPress, após algumas alterações, reportaram o surgimento do erro 503. Em outras ocasiões, o sistema se torna tão lento que é praticamente impossível de se administrar o site. Entre outros problemas relatados estão erros internos como falhas de upload, salvamento e etc.
A função do arquivo admin-ajax.php é fornecer uma conexão direta entre o servidor e o navegador, fazendo a sincronização em tempo real. Isso permite que algumas funções como salvamento automático e revisões, notificações na dashboard, limitação de edição cooperativa, dados em tempo real de woocommerce, dentre outros, sejam realizados.
Contudo, tantas funcionalidades diferentes podem acarretar ao esgotamento dos recursos do servidor. Uma vez que o admin-ajax.php funciona por intermédio de ticks num intervalo de 15 a 60 segundos, ele realiza execuções ao servidor várias vezes num prazo de 1 hora. Plugins com demanda recorrente farão essas execuções sempre que possível, ou seja, em todos os ticks. Facilmente essa demanda de recursos excederá qualquer servidor, independente do tamanho e configurações adotadas – quanto mais recursos, mais ticks e quanto mais ticks mais recursos serão demandados.
Recentemente, encontramos um artigo (em inglês) nas documentações do WP Rocket, plugin de cache que disponibilizamos, que fala um pouco sobre isso.
Segue o artigo na íntegra para leitura: https://docs.wp-rocket.me/article/1119-control-wordpress-heartbeat-api
Em um breve resumo, o artigo cita:
“ O WP Rocket mantém em si um módulo chamado “Heartbeat Control”. Esse módulo limita os ticks do admin-ajax.php e até mesmo pode desabilitar as execuções. No modo de limitação, os ticks são limitados a 1 a cada 2 minutos, reduzindo substancialmente a demanda de recursos. Se um tick ocorria a cada 15 segundos (no total 8 a cada 2 minutos), o limitador reduzirá a 1 tick a cada 2 minutos, com uma taxa de redução de 87,5%.”
Nós da Hostnet publicamos um artigo com o objetivo de ajudar o nosso cliente no processo de otimização dos sites feitos com o WordPress.
Recomendamos a leitura completa em nossa Info:
https://ajuda.hostnet.com.br/melhore-o-desempenho-do-seu-wordpress/
No link a seguir, você encontra a solução para este problema: https://ajuda.hostnet.com.br/melhore-o-desempenho-do-seu-wordpress/#Ajuste_o_wp-ajax .
Embora esta resolução rápida sobre o admin-ajax.php seja pouco conhecida, já a utilizamos na prática a algum tempo na Hostnet, e tem dado certo para todos os clientes que encontrou este problema.