29 votes

Pourquoi le serveur de développement Web ASP.NET/Visual Studio est-il si lent?

Compiling - XKCD(xkcd)

Je sais que la compilation d'aujourd'hui est beaucoup plus rapide qu'il ne l'était avant. Pourtant, pour moi, il semble que la compilation et surtout en cours d'exécution/débogage ASP.NET projets avec Visual Studio Serveur de Développement Web est incroyablement lent.

Depuis le début de l'été dernier, j'ai travaillé énormément sur ASP.NET les projets MVC. Bien sûr, la meilleure façon de débogage en utilisant le serveur web qui est fourni avec Visual Studio. Lorsque vous faites cela, je reçois bien trop ralentir les temps de chargement. Chrome dev tools signalent généralement que de ne charger qu'une de mes pages avait un 3 minutes de temps d'attente, suivi d'un court temps de chargement.

J'ai vu ces deux questions, mais ils n'aident pas. Pendant que je fais la plupart de mon travail de débogage dans le navigateur Chrome, la même chose arrive dans IE.

Quelqu'un d'autre a eu ce problème avant? Si oui, des conseils?

Aussi, je doute que le problème vient de la vitesse de ma machine. Cet ordinateur est très rapide à l'exécution de Windows 7 et de Visual Studio 2010, donc je ne vois pas pourquoi ASP.NET le débogage doit être si lent.


Mise à JOUR: Dans sa réponse ci-dessous, Jon Skeet a suggéré de tenter de déterminer si le problème est causé par l'environnement ou par le code lui-même. J'ai créé un nouveau projet MVC et il a couru. Le premier test a semblé être beaucoup plus rapide. Cependant, après avoir testé un peu plus de temps, il est sûr de dire que le premier essai a été une anomalie - en général, il dure aussi longtemps que ma grand projet (2 - 3 minutes). Donc, c'est un problème avec l'environnement. Merci d'avance pour toute aide!


Mise à JOUR #2: Il a été un moment depuis que j'ai mis à jour cette question. Voici quelques informations que j'ai recueillies depuis ma dernière mise à jour:

  • Ce retard se produit sur deux de mes machines de développement, à la fois Windows 7 et Visual Studio 2010
  • Ce délai est passe pour tous mes MVC2 et MVC3 projets (mais je n'ai pas expérimenté avec la plaine ASP.NET encore)
  • Plaine/vanille projets MVC expérience le même délai que les projets MVC avec de grandes bases de code
  • La désactivation de l'IntelliTrace n'a pas aidé
  • La désactivation de l'IPv6 n'a pas aidé

Je n'ai pas trouvé une solution pour ce problème, et donc je suis coincé avec un énorme temps d'attente. Quelqu'un sait-il comment résoudre ce problème?

7voto

Jon Skeet Points 692016

Il n'y a aucune raison pourquoi il devrait prendre 3 minutes pour démarrer le débogage quelque chose sauf si vous avez quelque chose de vraiment étrange.

Je vous suggère de lancer le débogueur, essayez de naviguer d'une page et puis il suffit de percer dans le débogueur alors que c'est le chargement. De voir où vous en êtes de perdre du temps. Vous êtes peut-être de faire quelques appels au démarrage qui est un échec, mais en prenant quelques minutes pour le faire.

Je n'ai jamais connu quelque chose comme ce que vous décrivez, ce qui suggère que c'est dans votre environnement ou de votre code - et si c'est généralement un ordinateur rapide, qui suggère qu'il est quelque part dans le code.

Si vous créer un nouveau projet MVC et de débogage dans cette, ne fait que prendre du temps?

Vous pouvez également exécuter Wireshark lorsque vous démarrer le débogage - voir si quelque chose dans votre app est la tentative d'extraction d'un réseau de ressources d'une description sans vous en rendre compte.

4voto

Sergey Points 1379

Cela est dû au problème DNS IPv6 dans Firefox et peut être résolu en définissant le paramètre network.dns.disableIPv6 sur true dans le about:config

Réponse DNS lente - Firefox sur localhost et Visual Studio ou Cassini

3voto

Jimmy Points 7473

Il s'agit en fait d'un problème de performances connu avec MVC, provoqué par le lancement d'une tonne d'exceptions en interne au démarrage. Si vous avez activé IntelliTrace, cela fera des ravages avec. Essayez de désactiver IntelliTrace et voyez si cela l'améliore du tout.

Source: http://connect.microsoft.com/VisualStudio/feedback/details/535799/debugging-mvc-is-very-very-slow

3voto

1voto

codelover Points 11

J'ai rencontré le même problème ces jours-ci, de travail sous Win7, VS2010, et le développement d'une solution de Silverlight avec plus de 10 projets. Il faut environ 3 minutes pour lancer IE, et attend 3 minutes pour revenir à VS après la fermeture de IE. J'ai surmonté le problème en essayant différentes façons. Mais la seule méthode utile:

  1. Décharger tous les projets n'ont pas pour debug
  2. Démarrer le débogage, la solution (il fonctionne normalement )
  3. Recharger d'autres projets
  4. VS fonctionne normalement ici. (VS fonctionne normalement)

Il semble que le problème est juste lié avec le VS environnement de mon côté. Il n'a rien à voir avec ASP.NET Serveur de Développement ou IIS.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X