2010-05-04 2 views
3

Au cours des derniers mois, ma table de sessions Drupal a atteint plusieurs Go. Il semble avoir commencé quand je suis passé à drupal 5.20 (auparavant, je pensais drupal automatiquement nettoyé les anciennes sessions). J'ai donc créé un travail cron pour supprimer des sessions de plus de deux semaines, mais cela prend beaucoup trop de temps à s'exécuter (la table des sessions se développe d'environ un million de lignes par semaine). Drupal devrait-il gérer cela, ou dois-je juste réduire l'âge maximum de la session jusqu'à ce que le temps d'exécution soit acceptable?La table des sessions Drupal devient énorme

En outre, je pensais que drupal n'était pas censé créer une session sur la première demande, éliminant ainsi de nombreuses entrées de déchets pour les robots d'exploration. Mais au moins un quart des entrées de la session sont des bots.

Répondre

1

Cela ressemble à un bug dans votre code quelque part. Drupal ne devrait pas créer une session à la première demande pour cette raison précise.

Les mises à jour Drupal sont uniquement des corrections de bogues/correctifs de sécurité pour Drupal 6 et inférieur. Donc, je ne vois pas pourquoi la mise à niveau pourrait avoir causé le problème.

Avez-vous modifié le noyau Drupal de quelque façon que ce soit?

+1

noyau Drupal a été modifié dans quelques endroits, mais rien qui devrait affecter cela. J'ai fait d'autres recherches cependant, et il semble qu'un module contrib (groupes organiques) interférait avec le traitement de la session de drupal. J'ai mis à jour le module, et cela semble l'avoir corrigé! – Brian

3

Je suis revenu là-dessus lorsque j'ai réexaminé le problème.

Ceci est dû probablement à cause de: la configuration PHP stockée dans certaines distributions linux signifie que la récupération de place de la session PHP ne s'exécute pas. Donc, la fonction de nettoyage de session Drupal qui est supposée nettoyer une ancienne session de DB ne fonctionne jamais ...

Voir tous à ce sujet ici: http://www.rymland.org/en/blogs/boaz/2_jan_09/making-php-session-expire-drupal-and-general

Questions connexes