El tamaño de la tabla de caché aumentó a más de 10 GB el mes pasado, y lo arreglé temporalmente truncándolo. La última vez que lo revisé fue de alrededor de 1 GB. Entonces, en un par de meses, alcanzará nuevamente los 10 GB. ¿Cómo debería tratarse esto?
Tenga en cuenta que he desactivado todos los trabajos cron en este sitio. Si esta es la razón, ¿qué cron debería habilitarse?
Usted mencionó en su comentario a MPD que, a pesar de configurar el cron y ejecutarlos regularmente, su tabla cache_form está creciendo rápidamente.
Una solución para eso es ejecutar su cron con más frecuencia. ¿Digamos cada seis horas o menos? Si no puede permitirse el lujo de hacerlo, lea más.
Solución alternativa
Instale Elysia Cron y ahora puede ejecutar la función cron de su módulo por separado. Puede mantener la frecuencia del cron de Elysia para que su módulo se ejecute cada seis horas. Para que su
cache_form
mesa se pode cada seis horas.Durante este proceso de poda, las entradas que no tengan más de 6 horas no se eliminarán. La razón es que si se eliminan todas las entradas, cualquier formulario que se envíe al momento de eliminar las entradas puede comportarse de manera extraña.
Mire el código en https://api.drupal.org/api/drupal/includes!form.inc/function/form_set_cache/7
A medida que se lee el comentario, están asumiendo que debería ser suficiente y, en su caso, se está volviendo demasiado para usted. Entonces, el truco es borrar la tabla cache_form con más frecuencia y reducir el valor de $ expire a un valor inferior, si desea borrar las entradas cache_form con más frecuencia que el valor predeterminado de 6 seis horas, entonces necesita alterar el TTL de Las entradas cache_form.
Puede hacerlo instalando cacheboject y luego implementando
hook_cacheobject_presave
dentro de lo cual puede alterar el TTL que puede ser de 2 o 3 horas.Una desventaja de este enfoque es que si los formularios no se envían dentro de las 2 horas (el valor RTL que estableció), los datos del formulario se pueden perder y es posible que algunos problemas expiren.
fuente
Como solución a este problema, he creado el módulo https://www.drupal.org/project/session_cache_form
fuente
Cuando tenía problemas de rendimiento en un sitio en el que trabajaba, me encontré con esto después de arreglar el almacenamiento en caché. Puede leer el artículo aquí: https://thinktandem.io/blog/2017/11/22/debugging-with-new-relic-blazemeter-strace-more/
Desde mi publicación de blog, puede agregar una configuración de cola y cron, luego usar algo como Elysia Cron para que todo funcione bien:
fuente
Utilice el módulo Safe cache_form Clear .
Primero le permitirá podar la mesa a un tamaño razonable y luego mantenerla.
Resumen extraído de la página del proyecto:
Una vez que el módulo está instalado, primero pode cache_form: ejecutar
drush safe-cache-form-clear
hasta que el tamaño de la tabla se mantenga constante, lo que indica que ha eliminado todos los registros anteriores a 6 horas.Luego continuará ejecutándose en cron.
Este es el módulo documentado para este propósito por Acquia para sus suscriptores. La página de documentación de Acquia proporciona buena información adicional.
fuente