Poda de la tabla de sesiones en Drupal

RECU-0788 (Recurso Ejemplo)

Descripción

Drupal almacena las sesiones de usuario en una base de datos. Esto facilita el mantenimiento del sistema en múltiples equipos pero sobrecarga el manejo de la base de datos con información sobre las sesiones de usuario. Si un sitio web tiene miles de visitas diarias, esta tabla crece de forma significativa. Por ello se realizan podas de la misma, para que su manejo sea más eficiente en términos de rendimiento.

PHP le da el control de cómo podar las entradas de usuario antiguas.

Ejemplos

En la configuración de Drupal puede encontrarse algo como esto:

ini_set('session.gc_maxlifetime', 200000); // 55 horas (en segundos)

Esto indica que el recolector de basura comienza a trabajar cada 55 horas, lo que indica que si un usuario no se ha logado en ese tiempo, su sesión es eliminada. Si su tabla de sesiones crece desmesuradamente, es necesario que realice podas con una frecuencia mayor, así que es recomendable que reduzca el tiempo para la aparición del recolector. Un ejemplo sería el siguiente:

ini_set('session.gc_maxlifetime', 86400); // 24 horas en segundos)
ini_set('session.cache_expire', 1440); // 24 horas (en minutos)

Que ajusta session.gc_maxlifetime a 24 horas y además ajusta también el tiempo de expiración de la cache al mismo tiempo.

Contenidos relacionados

Pautas
Área: Desarrollo » Rendimiento
Código Título Tipo Carácter
PAUT-0309 Tabla de sesiones Pauta Directriz Recomendada