Poda de la tabla de sesiones en Drupal
- Área: Rendimiento
- Carácter del recurso: Recomendado
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
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
PAUT-0309 | Tabla de sesiones | Pauta | Directriz | Recomendada |