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é.