Muitas pessoas sugerem que esse problema pode estar relacionado ao bloqueio de processos em segundo plano síncrono , principalmente relacionado a trabalhos cron pesados .
Se for verdade, existe um ótimo par de módulos em desenvolvimento ativo por gielfeldt * que pode resolver esse problema, ou pelo menos, pode oferecer algumas pistas e ajudar os construtores de sites a diagnosticar e tratar culpados específicos em seus casos. Ambos substituem processos síncronos de bloqueio por HTTP ou comandos assíncronos sem bloqueio e oferecem relatórios relevantes que podem identificar processos problemáticos:
- O processo em segundo plano e seus módulos incluídos permitem que a fila de processos em segundo plano do Drupal seja processada de forma assíncrona, para que não bloqueiem. Isso pode parar o problema. Além disso, com o módulo do Process Process Apache Server incluído no último desenvolvedor, há um relatório básico da interface do usuário, porém aprimorado, com recursos para supervisionar, desbloquear e inspecionar os horários de início e o andamento desses processos. Isso pode identificar o processo do problema.
- O Ultimate Cron baseia-se no processo em segundo plano para permitir que as tarefas acionadas por cron tenham seus próprios scehdules assíncronos separados, cada um dos quais pode ser monitorado e parado em uma interface do usuário. Além de ser excelente para separar tarefas pesadas de perda de desempenho de uma limpeza regular com pouca sobrecarga, ele também fornece um relatório com informações convenientes, como a duração da execução de cada tarefa acionada por cron individual, na última execução, status atual, etc. Isso também pode remover o bloqueio e / ou identificar processos problemáticos.
Ambos são módulos muito úteis de qualquer maneira; para esse problema, eles podem ser usados para testar a teoria (som muito plausível) de que os bloqueios são causados por processos de bloqueio síncrono ou execuções cron. Potencialmente, eles poderiam resolver o problema executando-os de forma assíncrona em vez de síncrona, e também poderiam oferecer pistas sobre quais processos específicos estavam causando o atraso. (lembre-se de que a documentação deles é um trabalho em andamento ...
Se, no entanto, eles não puderem ser configurados para ajudar, isso sugere que há mais problemas do que apenas processos em segundo plano síncronos. FWIW, eu nunca tive esse problema específico em um site desde que esses módulos funcionaram corretamente (ainda - toque em madeira) - mas eu já vi isso em meus sites antes, assim como em sites Drupal ao vivo.
Também esteja ciente de outros módulos de plug-in relacionados atualmente em desenvolvimento - por exemplo, em casos complexos de alta intensidade, o Ultimate Cron Queue Scaler , que permite a otimização baseada em limites, pode ajudar a reduzir problemas de desempenho relacionados ao cron.
* sem afiliação, sou apenas um usuário impressionado do trabalho deles