Muchas personas sugieren que este problema podría estar relacionado con el bloqueo de procesos en segundo plano síncronos , particularmente relacionado con trabajos cron pesados .
Si es cierto, existe un gran par de módulos en desarrollo activo por parte de gielfeldt * que podrían eliminar este problema de inmediato, o al menos, podrían ofrecer algunas pistas y ayudar a los creadores de sitios a diagnosticar y tratar a los culpables específicos en sus casos. Ambos reemplazan los procesos sincrónicos de bloqueo con HTTP o comandos asincrónicos sin bloqueo, y ambos ofrecen informes relevantes que pueden identificar procesos problemáticos:
- El proceso en segundo plano y sus módulos incluidos permiten que la cola de procesos en segundo plano de Drupal se procese de forma asíncrona, para que no se bloqueen. Esto podría detener el problema. Además, con el módulo de servidor de proceso en segundo plano Apache incluido en el último desarrollador, hay un informe de interfaz de usuario básico pero mejorado con funciones para supervisar, desbloquear e inspeccionar los tiempos de inicio y el progreso de estos procesos. Esto podría identificar el proceso del problema.
- Ultimate Cron se basa en el proceso en segundo plano para permitir que las tareas activadas por cron tengan sus propios horarios asíncronos separados, cada uno de los cuales se puede monitorear y detener en una interfaz de usuario. Además de ser excelente para separar las tareas de reducción de rendimiento de servicio pesado de la limpieza regular de bajo costo, también le brinda un informe con información conveniente, como la duración de cada tarea individual activada por cron, cuándo se ejecutó por última vez, estado actual, etc. Esto también podría eliminar el bloqueo y / o identificar procesos problemáticos.
Ambos son módulos muy útiles de todos modos; para este problema, se pueden usar para probar la teoría (sonido muy plausible) de que los bloqueos son causados por procesos de bloqueo sincrónico o ejecuciones cron. Potencialmente, podrían resolver el problema ejecutándolos de forma asincrónica en lugar de sincronizada, y también podrían ofrecer pistas sobre qué procesos específicos estaban causando la demora. (tenga en cuenta que su documentación es en gran medida un trabajo en progreso ...
Sin embargo, si no pueden configurarse para ayudar en absoluto, eso sugiere que hay más en el problema que solo procesos de fondo sincrónicos. FWIW, nunca he tenido este problema en particular en un sitio desde que conseguí que estos módulos funcionen correctamente (sin embargo, toque madera), pero lo he visto en mis sitios antes, así como en sitios de Drupal en vivo en la naturaleza.
También tenga en cuenta otros módulos de plug-in relacionados actualmente en desarrollo, por ejemplo, en casos complejos de alta intensidad, Ultimate Cron Queue Scaler , que permite la aceleración basada en el umbral, podría ayudar a reducir los problemas de rendimiento relacionados con cron.
* sin afiliación, solo soy un usuario muy impresionado de su trabajo