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)
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
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.
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
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.
avec
$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...
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;
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
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
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 ;-)
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
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 ?)
Ah, plg !
Vous n'auriez pas une réponse à mon problème "métadonnées" et "Maps & Earth" ???
;-)
C'est un problème réglé avec Piwigo 2.9 :-) Y'a plus qu'à mettre à jour !
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