OVH Cloud OVH Cloud

loadbalancing

27 réponses
Avatar
Vincent Courcelle
Salut
j'ai un site en php qui reçoit un bon paquet de pages vues par jour (entre
250 000 et 300 000... je crois qu'encore une fois c'est le serveur qui
limite ce nombre, je me retrouve encore une fois avec des "plateaux" de
"saturation" de la bande passante... comme quand il ne faisait que 60 000
pages vues et que je l'ai changé de serveur et qu'au jour au lendemain ce
chiffre à plus que doublé)
ce qui fait qu'un serveur ne suffit plus
je pensais donc prendre un autre serveur et faire du load balancing via DNS
entre les 2
le probleme c'est qu'il est tout géré par php, donc toutes les répercutions,
notamment au niveau des fichiers (la base mysql est sur un 3 ème serveur)
doivent se répercuter immédiatement (synchronisation permanente)
j'ai vu des solutions à base de dossier partagé entre les 2 serveurs et une
autre à base de synchronisation ponctuelle, mais rien en flux continu :(
merci par avance de votre aide !

Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.

10 réponses

1 2 3
Avatar
Olivier Roux
Vincent Courcelle wrote:
en ce moment (charge 29.63)


Upss

: 257 process httpd (sur un total de 314
process)


Il faudrait savoir maintenant quel element est genant :

Pas assez de memoire vive ?
Acces disque ?
Processeur ?

Il faudrait donc ces 3 elements pour pouvoir vous confirmer où ca coince

Avatar
Vincent Courcelle
ram = 768Mo
disque = ide classique de 80 go
processeur amd 2000+
sachant que je ne peux pas toucher au hardware (mais je peux upgrader à 1G,
processeur 2400+ ce qui me ferait bien ch*** car j'ai payé quelqu'un pour
m'installer tous les logiciels dont j'avais besoin (saleté de dépendances
rpm !)... j'ai préféré faire faire par quelqu'un qui touche que de faire moi
même et de faire des conneries...)
mais on s'éloigne du sujet qui était le mirroring de dossier

Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.

"Olivier Roux" a écrit dans le message de
news:

Il faudrait savoir maintenant quel element est genant :

Pas assez de memoire vive ?
Acces disque ?
Processeur ?

Il faudrait donc ces 3 elements pour pouvoir vous confirmer où ca coince




Avatar
Eric Demeester
dans (in) fr.reseaux.internet.hebergement, "Vincent Courcelle"
ecrivait (wrote) :

Bonsoir Vincent,

"Eric Demeester" :
Si ce sont les process Apache qui saturent la mémoire et le CPU, tu peux
imaginer une architecture avec load balancing hardware (Alteon par
exemple) sur deux frontaux http en miroir et une troisième machine
hébergeant la base MySQL.


euh... $$$$$$$ !!!!!!!!


Pour passer de deux serveurs à trois, oui, certes. Pour ce qui est du
load balancing hardware, il existe probablement des hébergeurs disposant
de ce type de matériel.

Je dis ça parce que nous avons des Alteon, qu'ils sont loin d'être
saturés, que du coup nous pouvons offrir des prestations pas trop chères
en la matière, et que j'imagine que nous ne sommes pas les seuls dans ce
cas.

et pi je peux pas toucher au hardware chez mon hébergeur actuel


J'ai bien compris ça.

Tu peux je pense (mais je peux me tromper, je ne suis pas spécialiste)
gagner beaucoup en utilisant un vrai load balancing en amont des
machines. Si c'est la machine A qui le fait de façon logicielle vers la
machine B, le gain en performances sera moindre que si un équipement en
amont interroge les deux serveurs et dirige la requête vers celui qui
répond le plus rapidement.


oui mais ça me fait un serveur de plus à payer...


Tout dépend des équipements dont dispose ton hébergeur. Un load balancer
hardware, ça se mutualise, donc s'il en possède, peut-être pourrait-il
te proposer une solution pour un coût raisonnable, encore que par
expérience, j'ai constaté qu'il était souvent difficile de discuter avec
un hébergeur américain dès lors qu'il s'agissait de fournir des
prestations spécifiques.

je pense que le gain
serait suffisant sans avoir à louer pour le moment une 4ème machine


Inutile de louer une 4ème machine si l'hébergeur dispose déjà de
l'infrastructure.

je pensais faire avec un logiciel au départ mais toutes les solutions que
j'ai pu trouver sont avec un serveur dédié au load balancing comme ce que
vous proposez


Il ne s'agit pas d'un serveur, mais d'un équipement bizarre, plus proche
d'un routeur ou d'un switch que d'un ordinateur, doté d'un système
d'exploitation basique, placé entre l'Internet et tes machines. Si j'ai
bien compris (ce qui n'est pas gagné, encore une fois je ne suis pas
technicien), son rôle se limite à recevoir des requêtes, à interroger
les serveurs qui sont derrière pour savoir lequel répond le plus
rapidement (et est donc le moins chargé) et à rediriger les requêtes en
fonction du résultat.

la charge maximale de ce serveur mysql est actuellement d'environ 2.5 ! il
peut largement tenir un peu plus de requetes je crois :)


C'est clair :)

tout à fait ! la base n'est pas du tout à synchroniser mais ce sont
uniquement des dossiers contenant des uploads que les membres font (pour
poster des images)


Idée : pourquoi ne pas stocker ces fichiers sur le serveur hébergeant la
base MySQL ?

Cela résoudrait de manière élégante et efficace les problèmes de
réplication (puisqu'il n'y en aurait plus et que du coup le problème
reviendrait à gérer des accès concurrents, ce qui est trivial), non ?

je suis tombé sur un logiciel pour faire du raid 1 externe (avec un disque
réseau), c'est à peu près ce que je veux faire mais les compiles de noyaux
et consors ça me fait peur :-/ et pi je suis pas du tout un "linux expert"
alors les mount etc... ça me donne des frissons


D'espérience, je crois que quand on ne sait pas faire, tout au moins
dans un environnement en production, il est prudent de confier la chose
à des gens qui savent, même si ça a forcément un coût.

Amicalement,

--
Eric Demeester - http://www.galacsys.net


Avatar
Vincent Courcelle
"Eric Demeester" <eric+ a écrit dans le message de
news:

Tout dépend des équipements dont dispose ton hébergeur. Un load balancer
hardware, ça se mutualise, donc s'il en possède, peut-être pourrait-il
te proposer une solution pour un coût raisonnable, encore que par
expérience, j'ai constaté qu'il était souvent difficile de discuter avec
un hébergeur américain dès lors qu'il s'agissait de fournir des
prestations spécifiques.


je vais toujours demander à l'hébergeur, ça coûte rien !


Idée : pourquoi ne pas stocker ces fichiers sur le serveur hébergeant la
base MySQL ?


parce que j'envisage de transferer un autre gros site chez cet hébergeur et
que je veux utiliser le serveur mysql pour les 2 sites donc...
je veux garder ce serveur "vierge" (tout l'inutile est désactivé, de
sendmail à apache) pour qu'il soit le plus rapide possible
tous ces sites sont appelés à largement évoluer au niveau traffic et donc si
un jour c'est le serveur mysql qui vient à limiter il me serait plus
difficile de tout faire évoluer dans des proportions que je ne peux estimer.
alors que si l'architecture est déjà prête, rajouter un serveur ou
transformer le serveur principal qui reçoit déjà les requetes en
"loadbalancer" qui gère les fichiers serait alors ultra simple !

D'espérience, je crois que quand on ne sait pas faire, tout au moins
dans un environnement en production, il est prudent de confier la chose
à des gens qui savent, même si ça a forcément un coût.


c'est également ce que je pense...

Avatar
Olivier Roux
Vincent Courcelle wrote:

ReBonjour


ram = 768Mo
disque = ide classique de 80 go
processeur amd 2000+


Ce que je demandais c'etait l'utilisation de ces ressources

Est ce que les 768 Mo sont utilisés full

est ce que les entrées sorties IDE sont saturées

Est ce que le processeur est utilisé a 100%

car il suffit peut etre tout simplement mettre plus de memoire vive par
exemple


sachant que je ne peux pas toucher au hardware (mais je peux upgrader à 1G,
processeur 2400+ ce qui me ferait bien ch*** car j'ai payé quelqu'un pour
m'installer tous les logiciels dont j'avais besoin (saleté de dépendances
rpm !)... j'ai préféré faire faire par quelqu'un qui touche que de faire moi
même et de faire des conneries...)
mais on s'éloigne du sujet qui était le mirroring de dossier


Oui mais ce mirroring est peut etre pas utile dans votre cas si c'est
juste une upgrade de processeur de memoire ou de passage en scsi



Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.

"Olivier Roux" a écrit dans le message de
news:

Il faudrait savoir maintenant quel element est genant :

Pas assez de memoire vive ?
Acces disque ?
Processeur ?

Il faudrait donc ces 3 elements pour pouvoir vous confirmer où ca coince









Avatar
Vincent Courcelle
je nepeux pas toucher au hardware du serveur !

Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.

"Olivier Roux" a écrit dans le message de
news:

sachant que je ne peux pas toucher au hardware (mais je peux upgrader à
1G,


processeur 2400+ ce qui me ferait bien ch*** car j'ai payé quelqu'un
pour


m'installer tous les logiciels dont j'avais besoin (saleté de
dépendances


rpm !)... j'ai préféré faire faire par quelqu'un qui touche que de faire
moi


même et de faire des conneries...)
mais on s'éloigne du sujet qui était le mirroring de dossier


Oui mais ce mirroring est peut etre pas utile dans votre cas si c'est
juste une upgrade de processeur de memoire ou de passage en scsi




Avatar
Olivier Roux
Vincent Courcelle wrote:
je nepeux pas toucher au hardware du serveur !



Ok

par contre il faut savoir ce qui ralentit quand meme le serveur pour
voir si les solutions nfs et autres elements pour faire du loadbalancing
par rapport a votre application, conviennent.



Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.



Avatar
Olivier Roux
Vincent Courcelle wrote:
je nepeux pas toucher au hardware du serveur !



pouvez vous sortir la sortie d'un cat /proc/stat

Avatar
Manuel Guesdon
On Sun, 29 Feb 2004 17:26:38 +0100, Vincent Courcelle wrote:

en ce moment (charge 29.63) : 257 process httpd (sur un total de 314
process)


C'est pour ca que je dis qu'il faut voir ce qui 'charge' la machine.
On a un bi-xeon qui a:
ps wax | grep http | wc -l
257
et une charge de 0.78
Il faudrait aussi regarder le parametrage d'apache au niveau des
StartServers
MinSpareServers
MaxSpareServers

Si apache n'arrete pas de creer/detruire des serveurs, ca va pas mal jouer
sur les perfs.
Bref, regarder: la mémoire, la charge due au swap, les warnings eventuels
d'apaches dans le error log,...

je ne comprend pas ce que tu entends par solution cache ?


Il y a des solutions pour cacher le resultat de pages php. Si cela est
possible sur ton site, tu peux du coup peut etre eviter une grosse partie
des reques mysql et des traitements php. Je l'ai fait sur un site tres
frequenté et ca donne une seconde vie au serveur :-)

Manuel

Avatar
Vincent Courcelle
cpu 20095830 2631 13338844 37612713
cpu0 20095830 2631 13338844 37612713
page 200625067 323327232
swap 1448023 14727157
intr 600995517 71050018 3 0 0 1 0 0 0 1 0 0 481024126 0 0 48921368 0
disk_io: (3,0):(49497198,23797935,401249512,25699263,646654442)
ctxt 812953872
btime 1077450886
processes 25504144

en ce moment :
18:16:54 up 8 days, 5:22, 1 user, load average: 31.95, 22.27, 18.90
336 processes: 335 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 28.2% user 18.7% system 0.0% nice 0.0% iowait 52.9% idle
Mem: 764292k av, 745116k used, 19176k free, 0k shrd, 49812k
buff
369264k actv, 74164k in_d, 15484k in_c
Swap: 1052248k av, 344204k used, 708044k free 143812k
cached



on m'a parlé d'un paramètre de nombre de client maximum dans la compile de
apache, je pense que c'est en grande partie ça qui me limite :/


Vincent Courcelle,
http://www.france-jeunes.net
et http://www.tubededentifrice.com (nouvelle version enrichie en silicium)

Prière de joindre le message d'origine à votre réponse.

"Olivier Roux" a écrit dans le message de
news:
Vincent Courcelle wrote:
je nepeux pas toucher au hardware du serveur !



pouvez vous sortir la sortie d'un cat /proc/stat



1 2 3