drikcT a écrit:gla a écrit:Petite précision...
Quel que soit le système de répartition de charge que tu envisages, si l'application ne supporte pas cette répartition, tu ne vas rien gagner (sauf des problèmes) donc commence peut être par voir si ton appli peu jouer efficacement (et gagner de la perf) sur du multiprocesseur (noyau SMP) et ensuite tu peux envisager le cluster.
Heu... pas forcément.
Exemple: un application qui ne supporte pas le SMP mais qui a chaque connection fait un gros calcul sur un paramètre donner lors de la connexion. Si on lance 10 connexions sur la même machine elle risque de saturer. Par contre si on met en place LVS avec 10 serveurs + 1 frontal alors chaque serveur n'aura qu'un seul calcul à effectuer ----> forte amélioration des performances.
Ce qui est plus embétant c'est au niveau du protocole. Dans le cas de NFS par exemple, LVS ne fonctionnera pas.
Si, si...
En fait pour pouvoir "distribuer" une application sur un cluster, il faut qu'elle soit prévue pour cela. Dans ton exemple, tu parles d'un serveur qui accepte plusieurs connexions, déjà tu évoques le fait de lancer 10 connexions en parallèles, donc tu peux lancer plusieurs instances de la même appli. Là, évidemment, tu devrais pouvoir mettre ces différents process en parallèle. En revanche, il existe des appli qui refuse de se lancer plusieurs fois. Si c'est le cas, de l'appli de YOBOGS, il ne peut utiliser un cluster SSI (Single System Image). De plus, certaines applications sont en mesure de partager leurs traitements sous forme de process ou de thread/mutex. Dans ce cas, il n'est pas non plus évident (trivial) que cela fonctionne avec un cluster ou un multipro. Si les process partage la mémoire, des lock de disque ou d'autre type de ressources partagées, cela va poser un problème.
Mon propos n'est pas de dire que c'est impossible avec LVS, mais on ne peut pas dire que le fait d'installer cette solution va régler son problème immédiatement. Je pense qu'une étude de l'appli est indispensable pour décider de la réponse optimale à son problème.
Enfin, et cela me parait le plus important, il est inutile de vouloir parallèliser les traitement et d'augmenter la disponibilité des serveur, si les données sont hébergées par une baie qui elle-même n'est l'est pas !
C'est bien beau de mettre beaucoup d'argent ou d'énergie dans un super cluster si le point sensible (SPOF) se situe ailleurs ....