2 serveurs, load balancing ou bi-processeur pour un site ?
14 réponses
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).
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)
Le ven, 26 aoû 2005 at 11:48 GMT, Fred <fred31@plansdereseaux.com> 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)
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)
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
"Fred" <fred31@plansdereseaux.com> a écrit dans le message de news:
430f01af$0$1731$8fcfb975@news.wanadoo.fr...
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.
"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
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.
"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.
Bonjour
"Fred" <fred31@plansdereseaux.com> 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" ;-)
"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.
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
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 ?
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
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
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 ?
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
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.
"Calimero" <calimero.ng@evolutive.org> 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)
"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.
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
Francois M. <fcm_news_No_S_PAM_REPLACE_COM_BY_FR@yahoo.com> wrote
in <devdvm$164r$1@talisker.lacave.net>:
"Calimero" <calimero.ng@evolutive.org> 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.
"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
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
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.
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
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?