par
Sékiltoyai » 08 juil. 2007, 19:15
Il ne faut pas confondre le comportement des variables de sessions pendant l'exécution du script, et hors de son exécution.
Les variables de session sont en permanence stoquées dans des fichiers sur le disque, de manière à ne pas prendre de place dans la ram, et être accessibles à tout moment, donc quand on a 100 sessions de 2 Mo en même temps, on a pas 200Mo de RAM mobilisés, heureusement.
Lors de l'exécution du script, les variables de session sont récupérées dans les fichiers pour être copiées dans les variables php les représentant, c'est ici qu'elles passent dans la RAM, mais tu remarqueras quil y a des accès de fichier, donc c'est comme si tu lisais toi même (c'est peut être un chouia plus rapide puisque c'est du C, mais dans le principe, c'est dans les 2 cas un accès disque. Une fois dans la RAM, tu les utilises comme des variables normales, et à la fin du script, elles sont réécrites dans les fichiers, c'est donc seulement à l'exécuition que les 2Mo de session passent dans la RAM, et sachant que dans les sites bien faits, l'exécution du script prend moins d'un dixième de seconde, c'est indolore pour la consommation permanente de ressources...
Il ne faut pas confondre le comportement des variables de sessions pendant l'exécution du script, et hors de son exécution.
Les variables de session sont en permanence stoquées dans des fichiers sur le disque, de manière à ne pas prendre de place dans la ram, et être accessibles à tout moment, donc quand on a 100 sessions de 2 Mo en même temps, on a pas 200Mo de RAM mobilisés, heureusement.
Lors de l'exécution du script, les variables de session sont récupérées dans les fichiers pour être copiées dans les variables php les représentant, c'est ici qu'elles passent dans la RAM, mais tu remarqueras quil y a des accès de fichier, donc c'est comme si tu lisais toi même (c'est peut être un chouia plus rapide puisque c'est du C, mais dans le principe, c'est dans les 2 cas un accès disque. Une fois dans la RAM, tu les utilises comme des variables normales, et à la fin du script, elles sont réécrites dans les fichiers, c'est donc seulement à l'exécuition que les 2Mo de session passent dans la RAM, et sachant que dans les sites bien faits, l'exécution du script prend moins d'un dixième de seconde, c'est indolore pour la consommation permanente de ressources...