Question

La discussion sur Dual vs.Le Quadcore est aussi vieux que le Quadcore lui-même et la réponse est généralement "cela dépend de votre scénario".Ici, le scénario est un serveur Web (Windows 2003 (je ne sais pas si x32 ou x64), 4 Go de RAM, IIS, ASP.net 3.0).

Mon impression est que le processeur d'un serveur Web n'a pas besoin d'être AUSSI rapide car les requêtes sont généralement plutôt légères, donc avoir plus de cœurs (plus lents) devrait être un meilleur choix car nous avons reçu de nombreuses petites requêtes.

Mais comme je n'ai pas beaucoup d'expérience en matière d'équilibrage de charge IIS et que je ne veux pas dépenser beaucoup d'argent pour découvrir que j'ai fait le mauvais choix, quelqu'un qui a un peu plus d'expérience peut-il me dire si oui ou non Plus de cœurs plus lents ou moins rapides, c'est mieux ?

Était-ce utile?

La solution

Pour quelque chose comme un serveur Web, diviser les tâches de gestion de chaque connexion est (relativement) facile.Je dis qu'il est prudent de dire que les serveurs Web sont l'une des utilisations les plus courantes (et les plus aplanies) du code parallèle.Et comme vous êtes en mesure de diviser une grande partie du traitement en plusieurs threads discrets, davantage de cœurs vous sont réellement bénéfiques.C’est l’une des principales raisons pour lesquelles l’hébergement mutualisé est même possible.Si les logiciels serveur comme IIS et Apache ne pouvaient pas exécuter de requêtes en parallèle, cela signifierait que chaque requête de page devrait être traitée dans une file d'attente... ce qui rendrait probablement les temps de chargement insupportablement lents.

C'est aussi pourquoi les systèmes d'exploitation de serveur haut de gamme comme Windows 2008 Server Enterprise prennent en charge quelque chose comme 64 cœurs et 2 To de RAM.Ce sont des applications qui peuvent réellement tirer parti d’autant de cœurs.

De plus, étant donné que chaque requête a probablement une faible charge CPU, vous pouvez probablement (pour certaines applications) vous en sortir avec des cœurs plus lents.Mais évidemment, avoir chaque cœur plus rapide peut signifier pouvoir accomplir chaque tâche plus rapidement et, en théorie, gérer plus de tâches et plus de requêtes serveur.

Autres conseils

Nous utilisons Apache sous Linux, qui crée un processus pour gérer les requêtes.Nous avons constaté que davantage de cœurs améliorent notre débit, car ils réduisent la latence des processus en attente d'être placés dans la file d'attente d'exécution.Je n'ai pas beaucoup d'expérience avec IIS, mais j'imagine que le même scénario s'applique à son pool de threads.

Mark Harrison a dit :

Je n'ai pas beaucoup d'expérience avec IIS, mais j'imagine que le même scénario s'applique à son pool de threads.

En effet - plus de cœurs = plus de threads exécutés simultanément.IIS est intrinsèquement multithread et en tire facilement parti.

Plus il y en a, mieux c'est.À mesure que les langages de programmation deviennent plus complexes et abstraits, plus la puissance de traitement sera nécessaire.

Atleat Jeff croit Quadcore c'est mieux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top