Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Load balancing & sessions

15 réponses
Avatar
Dodou
Bonjour,

je travaille actuellement sur un projet dont je m'occuppe du
développement (PHP / Mysql / Apache). Par contre, nous n'hébergeons
pas le site.
Le client pour lequel nous travaillons, veut augmenter la charge de son
serveur. Ainsi, il veut passer son serveur en load balancing.

Cependant, l'application a besoin de variables de session pour par
exemple la gestion des différentes langues du site.

L'hébergeur nous demande de supprimer ces variables de sessions pour
que puissent fonctionner le site. Il nous dit que le load balancing ne
permet pas de gérer les sessions.

J'aurais diverses questions :

1. Peut-t-on faire fonctionner un site en load balancing tout en
conservant l'utilisation des sessions ?

2. Si non, comment gérer par un autre moyen les choix des utilisateurs
?

3. Si oui, quelle est la configuration à apporter ?

4. Quelles sont les principales questions à poser à l'hébergeur pour
avoir des précisions sur les techniques utilisées ?

Merci d'avance pour vos réponses.

5 réponses

1 2
Avatar
Patrick Mevzek
normalement oui, parce que :

* j'ai vu des flock dans le code gerant les sessions dans
des fichiers (contrairement a ce que je pensais, donc erreur
de ma part),


Oui, mais cela ne fonctionne pas forcément correctement via NFS.

* parce que, un serveur Web apache est nativement concurentiel
puisque multi-processus.


Ce qui augmente justement les risques de non cohérence par accès
simultané au même fichier (contenant les données de session).

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>

Avatar
nospam
Etienne SOBOLE wrote:

finalement, et pour la sciences,
un montage NFS permettrait
- de ne rien toucher a ton site,
- de fonctionner avec n'importe quel nombre de serveur
- de fonctionner meme avec un loadbalancer préhistorique
- enrichir les connaissances des personnes de ce newsgroup en nous disant si
ca marche ;)


Je confirme, stocker les fichiers de session dans un répertoire commun
en NFS, ça marche ;)

Attention cepenndant, si le site à un fort traffic il est possible qu'un
seul répertoire ne soit pas "assez" et que NFS s'emballe les pinceaux
(avec peut être 2000 fichiers de session dans le répertoire)

Dans ce cas, il suffit de regler session.save_path de cette maniere. Par
exemple: "3;/mnt/sessions",

et de créer les répertoires correspondants avant:
/mnt/tmp/a/b/c/sess_abc2873822
(c'est expliqué dans la doc:
http://www.php.net/manual/en/ref.session.php)

Voilà

--
Romuald Brunet, ICQ 33033393, http://mog.online.fr

Remplacez nospam par mon prénom pour me contacter par email

Avatar
Etienne SOBOLE
Oui, mais cela ne fonctionne pas forcément correctement via NFS.
Ce qui augmente justement les risques de non cohérence par accès
simultané au même fichier (contenant les données de session).


oui autant our moi, tu as sans doute raison, j'avais pas pensé que tu
pouvais avoir deux fenetre utilisant la meme session.
Etienne

Avatar
Dodou
Merci à tous pour les précieuses informations que vous m'avez
fournies.
J'ai proposé à l'hébergeur du site de mettre la solution zend en
place. Elle me paraissait la plus facile et la plus cohérente à
mettre en place.
Mais il a émis l'argument du coût de la solution et a décidé de
mettre en place la redirection de l'internaute, via l'ip, toujours vers
le même serveur.
Donc normalement, et si j'ai bien compris, il ne devrait pas avoir de
problème de sessions mis à part dans des cas particuliers et le
loadbalancing ne sera pas optimisé à 100%.
Si je rencontre des problèmes avec cette solution, je vous en ferai
part.
Merci encore.
Avatar
Etienne SOBOLE
Mais il a émis l'argument du coût de la solution et a décidé de
mettre en place la redirection de l'internaute, via l'ip, toujours vers
le même serveur.


non c'est ce qu'il y a de mieux et de plus simple.
Le seul boulot qu'il te reste, c'est gérer la synchro des donnée du site
web.

l'equilibrage de charge se fera, sauf qu'au lieu de se faire à la page pret,
elle sera à la session pret, c'est tout.

voila
A+

Etienne

1 2