Combien de serveurs pour un cluster MYSQL ?

WRInaute occasionnel
Bonjour à tous,

alors pour une question à laquelle je n'ai pas trouvé de réponse sur le net :) :

Combien faut-il de serveur (minimum) pour monter un cluster MYSQL fiable en haute disponibilité ?

Merci d'avance. :)
 
WRInaute accro
Bah deux. C'est le principe du cluster ;)

Après, ça dépends de beaucoup de critères. Le nombre de requêtes effectuées; l'importance des données etc.
On a pas assez d'informations pour te donner un chiffre exacte là.
 
WRInaute occasionnel
J'ai envie dire que le but principal est plutot d'atteindre les 99.999% de disponibilité plutot que de traiter 10 000 requetes / secondes.

Je me dis que pour ce qui est des requêtes on peut toujours rajouter une machine si ça rame ^^

Est ce que je suis un peu plus précis ?
 
WRInaute accro
Ben si t'a 100 000 requêtes/seconde, deux machines ça sera pas suffisant.
Si t'en a 10 000, t'en aura besoin de moins.

Donc si, ça dépends de ton nombre de requêtes. Avoir deux machines permet de soulager un CPU en en utilisant un second.
Le mieux serait donc de commencer avec deux machines. Et d'en ajouter d'autres si le besoin se fait sentir.
 
WRInaute occasionnel
Imaginons que j'ai 2 machines (logiquement j'en ai deux parce qu'une n'encaissait pas la charge)

Une des deux machines plante, la deuxieme reste logiquement accessible mais va exploser... -> disponibilité 0

Donc 3 serveurs mini non ?

PS: Grâce a ton avatar ce soir je me refais la trilogie SDA ^^
 
Nouveau WRInaute
Comme on te l'a dit précédement 2 serveurs c'est suffisant pour maintenir une haute disponibilité, si un des serveurs tombe en panne l'autre est toujours la pour maintenir la disponibilité, surtout si ton nombre de requête n'est pas trés elevé. C'est vraiment trés rare que deux serveurs tombent en panne simultanément. A moins d'un hacks mais bon la t'y peux pas grand chose.

Bonne journée
++
Jc
 
WRInaute accro
oliv63 a dit:
Imaginons que j'ai 2 machines (logiquement j'en ai deux parce qu'une n'encaissait pas la charge)

Une des deux machines plante, la deuxieme reste logiquement accessible mais va exploser... -> disponibilité 0

Donc 3 serveurs mini non ?

Ben on fait ce qu'on appelle du "N+1": N c'est le nombre minimum de machines qu'il te faut pour encaisser la charge, et +1 c'est la machine de backup si l'une est en rade (panne ou maintenance). Et si tu veux vraiment être tranquille tu fais du N+2, comme ça tu peux avoir une panne sur une machine même pendant que tu es en train de faire une maintenance sur une autre (ou si jamais tu n'est pas très rapide à réparer les pannes et qu'une deuxième machine peut tomber alors que la première n'est toujours pas réparée). Mais si tu fais tes maintenances en heures creuses N+1 ça devrait normalement suffire.

Alternativement (parce que ça peut compliquer pas mal d'avoir un pool de beaucoup de machines, et parce que ça ne "scale" pas linéairement, surtout si tu as beaucoup d'écritures: il faut bien faire toutes les écritures sur toutes les machines), tu découpes ta base de données en plusieurs bouts (des tables différentes, ou des bouts de tables différentes), et dans ce cas du as N x 2 machines.

Ceci dit tout ça ce sont des généralités, après il faut voir le profil de ton trafic (en particulier le ratio lecture/écriture) pour trouver la meilleure solution.

Et pour économiser des machines (pour la charge, pas pour la redondance), n'hésite pas à utiliser un cache genre memcache, c'est diablement efficace.

Jacques.
 
Discussions similaires
Haut