web-dev-qa-db-fra.com

22762 rangées dans ma table de session. Qu'est-ce que cela signifie pour le site et que dois-je faire à ce sujet?

Ok, le titre est donc assez explicatif. Il y a des milliers de lignes dans la table de session. Je vois que le module login persistant est activé. Je ne sais pas si cela affecte la manière dont les sessions sont stockées. De plus, je note que plus de 100 utilisateurs sont cités en tant que visiteurs à une fois, ce qui semble très excessif pour la base d'utilisateurs et la teneur en niche de ce site.

S'il vous plaît peut-on conseiller le meilleur plan d'action ici? Je suppose que je peux tronquer cette table localement, mais à quoi ressemble le plan d'action à long terme?

4
NikLP

L'action à long terme consiste à limiter la session à vie. Recherchez la ligne suivante dans vos paramètres.php:

ini_set('session.gc_maxlifetime',   200000);

Ce paramètre définit la durée de vie de la session, après laquelle la session est marquée comme une poubelle et sera supprimée par le collecteur des ordures. Temps de vie moyen de la session (non sur drupal Sites) est beaucoup moins de 200 000 secondes - quelque chose entre 15 minutes et une demi-heure (900-1800). Donc, si vous n'avez pas besoin de longues sessions , vous pouvez réduire la valeur ini_set et ainsi obtenir moins de sessions stockées dans la table des sessions.

2
Valery Lourie

Probablement, les milliers de lignes sont causées par des sessions anonymes. Regardez la table des sessions et voyez combien de lignes ont uid==0 vs uid!=0

SELECT COUNT(sid)
FROM sessions
WHERE uid = 0

SELECT COUNT(sid)
FROM sessions
WHERE uid != 0

Drupal 6 crée des sessions pour les utilisateurs anonymes pendant Bootstrap.

Appuyez sur 6 et Drupal 7 seulement crée des sessions lorsque vous enregistrez réellement quelque chose à $_SESSION.

Il y a un module, pas de sessions anonymes , cela fait ce que dit son nom, mais il peut briser certaines fonctionnalités et modules non essentiels.

Cela dit, je ne m'inquiéterais que si vous voyez (et mesurez) les impacts réels de performance.

Tant que votre cron fonctionne, la table ne doit pas pousser sans limites. Vous regardez les tailles de table, il est probablement beaucoup plus petit que les tables de cache, l'index de recherche et les tables de surveillance.

1
mpdonadio