Re: beaucoup de sessions

Cerdic <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <7df14614-13ee-4446-8399-013e2249279f@Spark>
Oui une bonne pratique perf c’est de stocker les sessions PHP dans une db sqlite, ce qui se fait via le php.ini :
session.save_handler = sqlite
session.save_path = "/path/sessions.db"

--
Cédric
Le 4 avr. 2020 à 16:39 +0200, Fil <[email protected]>, a écrit :
> hello,
>
> sur le site du diplo on s'est trouvés avec un répertoire de sessions comportant 100000 fichiers et plus, et du coup je me suis rendu compte que preg_files est très lent (le temps de recherche des sessions de l'auteur en train de se loger est > 30s et la page part en timeout).
>
> du coup réparation dans l'urgence de inc/session :
>         // liste des sessions
> -       $sessions = preg_files(_DIR_SESSIONS, '/' . $id_auteur . '_.*\.php$');
> +      $sessions = glob(_DIR_SESSIONS . $id_auteur . '_*.php');
>
>
> Une des causes de l'énorme nombre de sessions, c'est que lors du passage à SPIP 3 les sessions anonymes autrefois gérées par SPIP sont devenues des sessions PHP ;
> mais quand tu en as des 100 000, ça fait des 100k fichiers, SPIP ou PHP c'est pareil de ce point de vue (et moi j'ai fait l'erreur d'indiquer à PHP de stocker ses sessions dans le répertoire des sessions spip)
>
> Bruno signale
> https://git.spip.net/spip/spip/pulls/21
> mais ici je souligne que les sessions anonymes sont légitimes et qu'on ne veut pas les effacer juste pour nettoyer, au risque de déconnecter des tas de gens.
>
> Le fond du problème c'est (peut-être?) qu'il faudrait gérer les sessions dans une petite base sqlite ; c'est pas un gros dev mais il faut être bien armé mentalement pour s'y attaquer :)
>
> Ou alors, il existe peu-être un module apache-php qui met les sessions en sqlite mais je ne l'ai pas trouvé.
>
>
> _______________________________________________
> liste: https://listes.rezo.net/mailman/listinfo/spip-dev
> doc: https://www.spip.net/
> dev: https://core.spip.net/
> irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.