•  » Utilisation
  •  » La clé piwigo_sessions devient énorme et paralyse le site

#1 2017-06-25 18:11:45

Adales
Membre
2013-04-13
51

La clé piwigo_sessions devient énorme et paralyse le site

Bonjour,

Mon site piwigo - et tous les sites hébergés à cet endroit sont bloqué ou fonctionnent mal parce que la clé piwigo_sessions devient énorme, 200 Mo, et la BDD dépasse le quota hébergeur. Du coup la BDD se met en lecture seule. Impossible de rentrer dans l'interface administrateur.

J'ai beau vider la clé, purger les sessions, cela recommence quelques temps après.

Que faut-il faire docteur ?

Version de Piwigo
        Piwigo 2.7.4
Environnement
        Système d'exploitation: Linux
        PHP: 5.6.30 (Montrer les informations) [2017-06-25 18:07:49]
        MySQL: 5.5.55-0+deb7u1-log [2017-06-25 18:07:50]
        Bibliothèque graphique: External ImageMagick 6.6.0-4
Url : olivierdumont.net

Hors ligne

#2 2017-06-25 19:48:58

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12184

Re: La clé piwigo_sessions devient énorme et paralyse le site

C'est un problème réglé avec Piwigo 2.9 :-) Y'a plus qu'à mettre à jour !


Dernier billet du blog Piwigo.com (21 mars 2017) Offres Piwigo.com Entreprise, enfin officielles !

Hors ligne

#3 2017-06-25 21:15:26

piwigilles
Membre
2012-04-16
70

Re: La clé piwigo_sessions devient énorme et paralyse le site

Ah, plg !
Vous n'auriez pas une réponse à mon problème "métadonnées" et "Maps & Earth" ???
;-)

Hors ligne

#4 2017-10-16 00:27:38

Carreaux
Membre
1970-01-01
9

Re: La clé piwigo_sessions devient énorme et paralyse le site

Bonsoir

le probleme n'est pas forcement (entierement) réglé sur la 2.9 (MAJ et mini test tout frais pour résoudre également la saturation aberrante de la bdd)
car il se créé encore plusieurs entrées dans la table session à chaque visite
le principe de la session n'est il pas d'avoir qu'une seule entrée par visite ?
voire d'effacer l'entrée dès quelle n'est plus valide ? (nettoyage automatique pour les entrées expirées ?)

Hors ligne

#5 2017-10-16 13:34:57

flop25
Équipe Piwigo
2006-07-06
6291

Re: La clé piwigo_sessions devient énorme et paralyse le site

il ets possible passer en session par fichiers

// session_save_handler: comment the line below
// to use file handler for sessions.
$conf['session_save_handler'] = 'db';

mais c'est tellement vieux comme fonctionnalité que je ne recommande pas vraiment

Si vous avez un rapport plus détaillé de vos problèmes, cela permettrait de mieux comprendre

Dernière modification par flop25 (2017-10-16 13:36:02)

Hors ligne

#6 2017-10-16 14:29:12

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
13918

Re: La clé piwigo_sessions devient énorme et paralyse le site

Carreaux a écrit:

le principe de la session n'est il pas d'avoir qu'une seule entrée par visite ?
voire d'effacer l'entrée dès quelle n'est plus valide ? (nettoyage automatique pour les entrées expirées ?)

Bonjour,

Vous pouvez faire un plugin qui purge la table quand vous entrez dans l'admin ;-)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#7 2017-10-16 14:33:26

flop25
Équipe Piwigo
2006-07-06
6291

Re: La clé piwigo_sessions devient énorme et paralyse le site

ddtddt a écrit:

Carreaux a écrit:

le principe de la session n'est il pas d'avoir qu'une seule entrée par visite ?
voire d'effacer l'entrée dès quelle n'est plus valide ? (nettoyage automatique pour les entrées expirées ?)

Bonjour,

Vous pouvez faire un plugin qui purge la table quand vous entrez dans l'admin ;-)

ou plutot utilisez $conf['session_gc_probability'] qui a été ajouté en 2.9

mais @Carreaux je crois que vous n’avez pas bien saisi ce non problème ; les sessions sont purgées désormais et mysql est aussi fait pour gérer un haut input. D'ailleurs Plg pourrait vous le prouver en parlant de Piwigo . com je pense . De plus si la table crash les données sont jetables, donc pas de soucis en cas de pertes

Hors ligne

#8 2017-10-16 15:49:10

Carreaux
Membre
1970-01-01
9

Re: La clé piwigo_sessions devient énorme et paralyse le site

flop25 a écrit:

...mais @Carreaux je crois que vous n’avez pas bien saisi ce non problème ; les sessions sont purgées désormais

ok, elles sont purgées à quel moment ? je souhaiterais tester cela, merci

Hors ligne

#9 2017-10-17 06:30:49

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
13918

Re: La clé piwigo_sessions devient énorme et paralyse le site

Bonjour,

// Probability, on each page generated, to launch session garbage
// collector. Integer value between 1 and 100, in %. 0 to disable and let
// the system default behavior (on Debian-like, it's "never delete
// session").
$conf['session_gc_probability'] = 1;


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#10 2017-10-19 20:18:02

Carreaux
Membre
1970-01-01
9

Re: La clé piwigo_sessions devient énorme et paralyse le site

avec

Code:

$conf['session_gc_probability'] = 100;

je devrais avoir 0 ligne trainant dans la base ?
car là il m'en reste 4 (apres nettoyage de la table et passage dans 4-5 albums)
ça fait bcp pour une simple visite...

Hors ligne

#11 2017-10-20 11:45:51

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12184

Re: La clé piwigo_sessions devient énorme et paralyse le site

Bonjour,

Il y a 3 mécanismes de purge des sessions dans Piwigo 2.9 :

1) manuel, action de purge des sessions sur [Administration > Outils > Maintenance]

2) automatique, lorsque n'importe quel utilisateur s'identifie

3) automatique, géré par le moteur de PHP grâce à $conf['session_gc_probability']. Par défaut la valeur des 1% de chance qu'au chargement d'une page, PHP purge les sessions. A 100%, PHP va systématiquement purger les sessions.

Attention, quand on parle de "purge des sessions", c'est uniquement les sessions périmées. Les sessions en cours ne sont pas supprimées.

Carreaux a écrit:

je devrais avoir 0 ligne trainant dans la base ?
car là il m'en reste 4 (apres nettoyage de la table et passage dans 4-5 albums)
ça fait bcp pour une simple visite...

Impossible d'avoir 0 ligne, car au minimum il reste la session de l'utilisateur en cours. Avoir 4 lignes signifie simplement qu'il y a encore 4 sessions non périmées.

Si par contre, après fait un "truncate table piwigo_sessions;" dans la base, il y a 4 sessions créées pour un unique visiteur, alors c'est anormal. Sauf si tu es derrière un proxy qui change constamment d'adresse IP.


Dernier billet du blog Piwigo.com (21 mars 2017) Offres Piwigo.com Entreprise, enfin officielles !

Hors ligne

#12 2017-10-20 15:08:06

Carreaux
Membre
1970-01-01
9

Re: La clé piwigo_sessions devient énorme et paralyse le site

je pense en effet qu'il y a un comportement anormal car, il reste des lignes "expirées"
et je maintiens que 4 lignes pour une visite de qq pages me semble également anormal (1 par visite, c'est le principe de la session non ?) et que devoir faire des purges manuelles pour palier à ces trop nombreuses entrées, c'est inconfortable

je suis dsl d'insister mais quand je vois ma table se remplir chaque 2 secondes, j'aimerais comprendre quelles sont vos motivations à avoir codé de cette façon au lieu de limiter à 1 entrée par session


pour ce qui est de mes retours d'utilisation sur serveur OVH :
les 4 entrées de ma visite d'il y a qq jours (je suis en ip fixe et pourtant plusieurs entrées sur la meme session) ont en effet été purgées avec la visite de qq1 d'autre
mais mon visiteur du jour semble apprécier mes photos car je suis actuellement à 402 entrées "expirées" restantes dans la table


le probleme est sérieux et en lisant le forum, nous avons été plusieurs à subir un "déni de service" par surcharge de notre BDD
et je pense qu'il n'est pas (entierement) corrigé avec la version 2.9 et que le
$conf['session_gc_probability'] = 100;
n'y suffit pas


partante pour aider sur des tests si vous avez besoin

Hors ligne

#13 2017-10-20 15:53:37

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12184

Re: La clé piwigo_sessions devient énorme et paralyse le site

je pense en effet qu'il y a un comportement anormal car, il reste des lignes "expirées"

Comment sais tu que la session en question est expirée ? Quelle est la date dans la colonne "expiration" ? Est-ce que cette date expiration est antérieure à 30 minutes dans le passé ?

je suis dsl d'insister mais quand je vois ma table se remplir chaque 2 secondes, j'aimerais comprendre quelles sont vos motivations à avoir codé de cette façon au lieu de limiter à 1 entrée par session

Tu peux très bien avoir 200 visiteurs simultanés sur ton Piwigo, ce qui fera, de façon parfaitement légitime, au moins 200 sessions dans la table.

Par contre, je confirme que pour une visite, il n'y a qu'une session. Si ce n'est pas le cas sur ton Piwigo, c'est un comportement anormal à comprendre et corriger.

le probleme est sérieux et en lisant le forum, nous avons été plusieurs à subir un "déni de service" par surcharge de notre BDD et je pense qu'il n'est pas (entierement) corrigé avec la version 2.9 et que le
$conf['session_gc_probability'] = 100; n'y suffit pas

400 lignes n'est absolument pas un problème. Le soucis, c'est quand il y a des millions de lignes, pas des centaines. Mais si réellement, lorsque la probabilité de purge est à 100%, il reste des sessions expirées, alors il y a un soucis à corriger.


Dernier billet du blog Piwigo.com (21 mars 2017) Offres Piwigo.com Entreprise, enfin officielles !

Hors ligne

#14 2017-10-21 03:17:39

Carreaux
Membre
1970-01-01
9

Re: La clé piwigo_sessions devient énorme et paralyse le site

j'aimerais tant avoir 400 visiteurs en 15mn sur ma galerie ! :-D

déjà une information interessante est de savoir que l'expiration est à + 30mn
sur les centaines de lignes seules une minorité sont donc expirées selon cette condition et sont en effet supprimées au fur et à mesure que mon/mes visiteur.s rempli.ssent d'un autre coté la table !

reste que l'ajout d'entrées dans la bdd toute les 2 secondes est abberant et fortement genant
(et je doute fortement avoir un nouveau visiteur chaque 2 secondes !!)
ci joint une capture d'une page des entrées de ma table session


Images attachées

Dernière modification par Carreaux (2017-10-21 03:19:14)

Hors ligne

#15 2017-10-21 10:21:11

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12184

Re: La clé piwigo_sessions devient énorme et paralyse le site

Qu'est-ce qui te dit qu'il n'y a pas des bots qui passent sur tes pages ? Que dit ton historique, page [Administration > Outils > Historique > onglet recherche] ? (à condition d'avoir désactivé le plugin No Stats For Robots)


Dernier billet du blog Piwigo.com (21 mars 2017) Offres Piwigo.com Entreprise, enfin officielles !

Hors ligne

  •  » Utilisation
  •  » La clé piwigo_sessions devient énorme et paralyse le site

Pied de page des forums

Propulsé par FluxBB