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

2 serveurs, load balancing ou bi-processeur pour un site ?

14 réponses
Avatar
Fred
Bonjour à tous,

J'ai un site en ASP + MySQL hébergé sur un serveur win 2000 server (PIV
2,8GHz, 1Go RAM).

Le cpu du serveur est régulièrement à une charge moyenne de 50 à 65%
(répatri essentiellement entre IIS (45%), MySQL (45%) et Winroute
firewall (10%)).

On a optimisé au mieux nos requetes, et on se pose la question de migrer
d'ici quelques temps vers un autre serveur plus puissant, le trafic du
site ne cessant de croitre.

Quel est le meilleur choix en terme de performance, de fiabilité et de
coût entre les idées suivantes :
- avoir 2 serveurs, un pour la base de données (mySQL) et l'autre pour IIS
- avoir 2 serveurs en load balancing (il me semble qu'il faut avoir win
2000 advanced server ou windows 2003)
- avoir un seul serveur bi-processeur (genre bi-xeon).

Merci pour vos conseils,

@+

Fred

10 réponses

1 2
Avatar
Dominique ROUSSEAU
Le ven, 26 aoû 2005 at 11:48 GMT, Fred a écrit :
Quel est le meilleur choix en terme de performance, de fiabilité et de
coût entre les idées suivantes :
- avoir 2 serveurs, un pour la base de données (mySQL) et l'autre pour IIS
- avoir 2 serveurs en load balancing (il me semble qu'il faut avoir win
2000 advanced server ou windows 2003)
- avoir un seul serveur bi-processeur (genre bi-xeon).


plutot la 1ere solution, si ce que tu cherches est seulement un gain de
perf.
(le load balancing permettrait d'avoir une certaine redondance, en
prime)

Avatar
François Manchon
"Fred" a écrit dans le message de news:
430f01af$0$1731$
Quel est le meilleur choix en terme de performance, de fiabilité et de
coût entre les idées suivantes :



Vaste question! On peut aussi (surtout?) y ajouter la complexité de mise en
oeuvre et d'exploitation. En tout cas ce sera forcément un compromis selon
la bonne vieille règle coûts/délais/qualité.

- avoir 2 serveurs, un pour la base de données (mySQL) et l'autre pour IIS


- Très bien côté perfs: chaque machine fait une seule chose et le fait bien.
- Pas bien côté fiabilité: chaque serveur est un point de défaillance.
- Moyen côté coûts: tu payes des ressources que tu n'utilises pas, par
construction.
- Bien côté simplicité d'exploitation.

- avoir 2 serveurs en load balancing (il me semble qu'il faut avoir win
2000 advanced server ou windows 2003)


- Bien côté perfs: c'est extensible.
- Très bien côté fiabilité: tu peux arrêter un serveur sans impacter le
service.
- Bien côté coûts: tu utilises tes deux machines à fond.
- Délicat côté simplicité d'exploitation. Il faut procéder très
rigoureusement, en particulier pour maintenir les deux configs en phase.

- avoir un seul serveur bi-processeur (genre bi-xeon).


- Très bien côté perfs: les noyaux Unix, en tout cas, savent parfaitement
gérer le multipro depuis ~10 ans. (J'espère que Microsoft a suivi ;-)
- Pas bien côté fiabilité: tous tes oeufs sont dans le même panier.
- Très bien côté coûts: tu payes pour une seule machine.
- Très bien côté simplicité d'exploitation.

Sincèrement,

François

Avatar
R12y
On Fri, 26 Aug 2005 13:48:59 +0200, Fred wrote:

- avoir 2 serveurs, un pour la base de données (mySQL) et l'autre pour IIS


en fonction de la qualité du lien entre les deux machines, ça peut etre
une mauvaise solution.

--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/

Avatar
Francois M.
Bonjour

"Fred" a écrit dans le message de news:
430f01af$0$1731
J'ai un site en ASP + MySQL hébergé sur un serveur win 2000 server (PIV
2,8GHz, 1Go RAM).
[snip]

Quel est le meilleur choix en terme de performance, de fiabilité et de
coût entre les idées suivantes :
- avoir 2 serveurs, un pour la base de données (mySQL) et l'autre pour IIS
- avoir 2 serveurs en load balancing (il me semble qu'il faut avoir win
2000 advanced server ou windows 2003)


Attention au load balancing avec ASP, tu vas avoir le pb de sérialisation
des objets de session. (pas de pb en Asp.Net en revanche). Bien entendu cela
dépend du site, mais dés l'instant où tu as une notion quelconque de login
utilisateurs sur ton/tes site(s), c'est trés problématique de faire du LB en
ASP"pas net" ;-)

F.

Avatar
Fred

Attention au load balancing avec ASP, tu vas avoir le pb de sérialisation
des objets de session. (pas de pb en Asp.Net en revanche). Bien entendu cela
dépend du site, mais dés l'instant où tu as une notion quelconque de login
utilisateurs sur ton/tes site(s), c'est trés problématique de faire du LB en
ASP"pas net" ;-)

F.


Il me semblait bien qu'il y avait des problèmes de ce genre.

Il me semble que le problème se pose aussi avec les upload de fichiers,
non ?

@+ et merci pour vos réponses.

Fred

Avatar
Calimero
Francois M. wrote:

Attention au load balancing avec ASP, tu vas avoir le pb de sérialisation
des objets de session. (pas de pb en Asp.Net en revanche). Bien entendu cela
dépend du site, mais dés l'instant où tu as une notion quelconque de login
utilisateurs sur ton/tes site(s), c'est trés problématique de faire du LB en
ASP"pas net" ;-)


Mhhh c'est pas pour ca qu'il existe des load-balancers hard ?

Sinon pour une solution à Padsou, un truc à deux roubles du type
"www1.site.com" et "www2.site.com" avec une redirection des bois sur
l'un ou l'autre qd on arrive sur www.site.com ?

--
@+
Calimero

Avatar
Francois M.
"Calimero" a écrit dans le message de news:
431339f7$0$27523
Mhhh c'est pas pour ca qu'il existe des load-balancers hard ?


Ben ca ne changera strictement rien au probléme de la persistance des objets
de session.

Si on ne fait pas persister les objets de session indépendamment de l'un ou
l'autre des serveurs IIS, certaines fonctions sont tout simplement
impossibles. (exemple "bateau" : liste des utilisateurs identifiés connectés
sur un site sans faire appel à la DB)

F.

Avatar
Romain Tournier
Francois M. wrote
in <devdvm$164r$:
"Calimero" a écrit dans le message de news:
431339f7$0$27523
Mhhh c'est pas pour ca qu'il existe des load-balancers hard ?


Ben ca ne changera strictement rien au probléme de la persistance des objets
de session.

Si on ne fait pas persister les objets de session indépendamment de l'un ou
l'autre des serveurs IIS, certaines fonctions sont tout simplement
impossibles. (exemple "bateau" : liste des utilisateurs identifiés connectés
sur un site sans faire appel à la DB)


pour cela tu as des fonctionnalites sur les load-balancer pour maintenir
les connexions entre un client et un serveur.
suffit d'activer les bonnes options.

mais le probleme se pose pour tous les sites, pas que ceux en ASP.

--
Romain


Avatar
Calimero
Francois M. wrote:

Ben ca ne changera strictement rien au probléme de la persistance des objets
de session.

Si on ne fait pas persister les objets de session indépendamment de l'un ou
l'autre des serveurs IIS, certaines fonctions sont tout simplement
impossibles. (exemple "bateau" : liste des utilisateurs identifiés connectés
sur un site sans faire appel à la DB)


C'est là tous l'intérêt d'un load balancer hard dont la fonction est
d'être "statefull" et de savoir sur quel noeud le client a commencé sa
session pour le maintenir sur ledit serveur.
Sinon un simple round robin DNS à 0.00Euro suffirait.

--
@+
Calimero

Avatar
R12y
On Mon, 29 Aug 2005 23:30:41 +0200, Calimero wrote:

Sinon un simple round robin DNS à 0.00Euro suffirait.


Hum. On est certain que le round robin resolve les problèmes de sessions?

--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/

1 2