Nous venons de mettre en ligne notre première solution Web basée sur Hyper-V il y a environ un mois (Schéma ci-dessous). Nous rencontrons des problèmes de communication intermittents entre les machines virtuelles pendant les périodes de trafic élevé, par exemple, pendant les explorations de Bing/Google/Baidu/McAfee Secure, etc. Le problème dure quelques minutes et ce n'est pas une panne totale ; certaines requêtes fonctionnent parfaitement tandis que d'autres aboutissent à des erreurs. J'ai consulté les journaux système des machines virtuelles et du système hôte mais il n'y a rien qui indique un échec (autre que quelques erreurs ODBC ASP.net sur la machine Web parce qu'elle ne peut pas atteindre l'hôte de la base de données).
Notre ancienne configuration avec un seul serveur web et de base de données Windows Server 2k3 vieux de 8 ans gérait tout le trafic sans problème, mais limitait nos nouvelles capacités de développement. Il n'avait que 4 Go de RAM et un ancien processeur dual-core 2 GHz. Notre nouveau serveur dispose de 32 Go de RAM et d'un processeur Xeon quad-core 3,4 GHz. Le matériel surpasse de loin l'ancien lorsque tout fonctionne. Les pages se chargent plus vite, les requêtes s'exécutent plus rapidement, etc.
Les seules choses auxquelles je pense sont que le trafic est essentiellement doublé sur l'adaptateur car la base de données et le Web sont sur des VM séparées mais partagent le même réseau virtuel, ou, il peut y avoir un problème avec la configuration de notre réseau Hyper-V.
Il y a un seul commutateur virtuel partagé configuré en externe. Nous utilisons un pare-feu matériel pour bloquer les ports vers l'extérieur. J'ai inclus des captures d'écran des adaptateurs réseau et de la configuration actuelle du commutateur virtuel.
Je ne suis pas sûr des propriétés qui devraient être activées/désactivées sur l'hôte et les VM. La machine a 2 cartes réseau, mais tout est actuellement configuré sur un seul port. Il a été recommandé d'utiliser un port pour l'administration et l'autre pour le commutateur virtuel, ce qui, je suis sûr, augmenterait les performances lorsque nous nous connectons aux boîtes, mais je ne suis pas sûr que cela résolve le problème actuel.
Quelqu'un pourrait-il fournir des conseils sur les propriétés des cartes réseau qui devraient être sur l'hôte et les VM, ou me guider vers des ajustements pour améliorer les performances du réseau ?
0 votes
Au fait, j'ai fait une recherche sur Google et j'ai trouvé des choses comme le Virtual Networking Survival Guide et autres. La chose la plus prometteuse que j'ai trouvée était la désactivation du TCP Offloading, mais je ne suis pas sûr des conséquences que cela pourrait avoir ou s'il devrait être fait sur l'hôte, les enfants, ou les deux. Je ne veux pas aggraver les choses plus qu'elles ne le sont déjà.
1 votes
ce trafic est essentiellement doublé sur l'adaptateur ...
- Ce n'est pas le cas. La communication entre les VM ne passe pas par l'adaptateur physique.1 votes
Il est recommandé d'utiliser un port pour l'administration et l'autre pour le commutateur virtuel
- Si vous n'avez pas plusieurs serveurs hyper-v physiques et que vous ne migrez pas les VM, alors je suis d'avis que vous devriez simplement les ajouter tous les deux à une équipe indépendante du commutateur qui optimise en fonction du port hyper-v. Ensuite, utilisez l'adaptateur d'équipe pour votre commutateur externe vSwitch.0 votes
Oui, je ne suis pas sûr de comment répondre car je ne peux pas décider si vous préférez avoir des conseils généraux de configuration de NIC, ou si vous voulez vraiment résoudre ce problème que vous avez avec la communication entre les machines virtuelles.
0 votes
Ryan, j'aimerais résoudre le problème de communication entre VM. Je suppose que c'est une sorte de configuration NIC/Hyper-V qui me permettra d'y arriver?
0 votes
Zoredache, avez-vous des liens recommandés vers des informations discutant des adaptateurs d'équipe.
0 votes
Commence à se demander s'il s'agit d'un problème d'utilisation de TCP/IP. Nous avons plusieurs sites Web qui parlent chacun de deux bases de données. Même après la fermeture des connexions, le système les maintient pendant un certain temps. Pas sûr si activer le regroupement de connexions sur le pilote ODBC aiderait, ou réduire peut-être le délai d'attente TCP?
0 votes
J'ai augmenté les paramètres TcpTimedWaitDelay et MaxUserPort dans le registre. Nous n'avons plus eu de problèmes de connectivité à la base de données depuis. J'espère que c'était ça!