Le 09/12/2010 09:40, [WHD-RS] Benjamin SCHILZ a écrit :
Bonjour à tous,
Je suis entrain de revoir le partage de sessions sur un cluster web Debian/Apache/PHP qui actuellement fonctionne de la façon suivante :
Filer1 (master) : « Tmpfs de 2 Go » > NFS (vip) > Nodes
(Keepalived)
Filer2 (slave) : « Tmpfs de 2 Go » > NFS (vip) > Nodes
Suite à différentes bascules ça ne fonctionne pas toujours très bien (freeze du montage, ...).
Je suis entrain de regarder ce qu'on pourrait faire pour améliorer ça, j'ai lu pas mal de choses sur Sharedance, je l'ai testé ça fonctionne plutôt pas mal du tout, mais dur de l'évaluer en conditions de prod. De plus il n'y a pas de nouvelles versions depuis 2006, traduction c'est super fiable/mature ou ce n'est plus développé ?
Autre question le fait de redéfinir la gestion des sessions dans PHP via un auto_prepend_file, ça ne pose pas de soucis sur certaines applications ?
J'ai regardé un peu PHPDance qui permettrait de faire de la redondance de Sharedance, pour le moment mes tests ne sont pas très concluants.
Si quelqu'un a une expérience de Sharedance ou une meilleure solution ;)
Bonjour,
j'ai créé un billet concernant Sharedance, après avoir testé plusieurs solutions : http://www.duchatelet.net/blog/?post/2008/06/19/Session-PHP%3A-Le-choix ou je le test avec du trafic de prod et des sessions de 1.2Mo au lieu des 3ko habituels.
Depuis, il était en prod sur un vieux serveur (le moins puissant qu'on ait). Ce serveur donnant des signes de fatigue, et Sharedance ne consommant vraiment que très peu de ressource, je l'ai déplacé sur un serveur MySQL pour gagner 1A ...
Au passage, ma solution est d'avoir un tmpfs pour stocker les fichiers sharedance, un heartbeat entre 2 serveurs, les 2 ayant Sharedance qui tourne. Le heartbeat ne gère qu'une VIP et un cron qui fait un rsync toutes les minutes. Ainsi, en cas de bascule je ne perds que les sessions de la minute en cours...
Son principale problème, c'est qu'il ne gère pas les locks, et je crois que c'est le cas de tous les systèmes non natif PHP. Donc si vous avez plusieurs frames, webservices qui modifient la session, il y a des pertes selon le temps d'execution de chaque scripts... Il faut que les dev fassent attention à ça. Ou gérer les locks avec le memcached...
Il ne lui manque que ça. S'il n'est plus développé, c'est qu'il fonctionne et n'est pas buggué :) mais il est toujours utilisé pour de gros sites webs (skyblog...)