web-dev-qa-db-fra.com

L'exécution de sites sur "localhost" est extrêmement lente

Avoir de la difficulté à utiliser mon hôte local pour tester des sites. Il fonctionne extrêmement lentement! Parfois, le chargement d’une page prend une minute. J'utilise Firefox et les sites que je teste fonctionnent bien sur les autres développeurs des machines locales de mon bureau/sur le serveur de production.

J'ai traversé les choses normales: -

  1. IPv6 désactivé
  2. Ne fonctionne pas en mode débogage
  3. Placez le site dans le pool d'applications le plus élevé (High Isolated) sur IIS 6.
  4. Prise de pare-feu, etc.

Le problème ne semble se produire que lorsque vous atteignez des pages contenant une forme de code .net dans le code-behind.

Sachez qu’il s’agit d’un sujet vague et qu’il n’est pas prudent de donner des conseils. C’est horrible d’attendre une minute à chaque rafraîchissement pour essayer un changement!

Salut, Sean.

43
royse41

J'ai eu le même problème avec PHP. Je l'ai résolu en remplaçant "localhost" par "127.0.0.1" dans les paramètres de connexion à la base de données, comme quelqu'un le suggère ici: https://serverfault.com/a/444338/62739 . Je pense que cela peut fonctionner pour vous aussi, essayez-le.

35
grongor

Juste partager ma solution ... j'ai changé l'URL de mon navigateur de localhost: port à 127.0.0.1:port , ce qui a entraîné un chargement très rapide

12
SoliQuiD

J'ai eu les mêmes problèmes, édité mon fichier hôtes 127.0.0.1 localhost, mais n'a remarqué aucune différence.

J'ai ensuite désactivé Compression dans le panneau IIS et appliqué, et le problème semble maintenant résolu.

Gestionnaire IIS> Compression> Décochez la case "Activer la compression du contenu dynamique" et décochez "Activer la compression du contenu statique". Puis 'Appliquer'.

J'espère que cela t'aides!

cordialement, Geoff

7
Geoff

Désactivez l'antivirus sur les dossiers contenant le code de l'application Web. Dans mon cas, j'ai observé une grande amélioration avec l'antivirus Avast.

4
dlopezgonzalez

Si vous utilisez .Net, alors désactiver le débogage dans votre Web.Config va améliorer les performances sans fin.

<compilation defaultLanguage="c#" debug="false" batch="false" targetFramework="4.0">
3
davidjones

J'avais le même problème, le chargement initial de IIS prendrait jusqu'à 10 minutes au lieu des 30 secondes habituelles.

J'ai ouvert le Gestionnaire des tâches pour voir quels processus étaient en cours d'exécution. Il s'avère que Windows Defender aurait atteint 30% d'utilisation du processeur lors de la première utilisation du terminal IIS. J'ai essayé d'exclure mes/bin/dossiers mais cela n'a pas fonctionné, alors je viens de désactiver la protection en temps réel sur Windows Defender et voilà, le site se chargeait en 30 secondes seulement. 

3
Bilal

Pour les personnes utilisant un mac. Lorsque vous utilisez différents noms d’hôte, dites test.local et test2.local. Essayez de changer test.local en test.dev. J'ai découvert que le lion Mac OS X contrôle le fichier .local. Donc, lorsque vous le changez en autre chose, c'est plus rapide.

Et bien sûr, utilisez les suggestions ci-dessus, telles que désactiver la référence ipv6 dans votre fichier hosts:
# :: 1 localhost

et définissant ceci dans le fichier hosts: 127.0.0.1 localhost

il pointe donc vers ipv4.

3
Lars Nieuwenhuizen

Cette suggestion l'a corrigé pour moi. Effacez le WebSiteCache dans C:\Utilisateurs\nom d'utilisateur\AppData\Local\Microsoft\WebSiteCache

http://blog.geocortex.com/2007/12/07/slow-visual-studio-performance-solved/

3
James

Si vous ne faites que visualiser la sortie de la page (pas le code de débogage), accédez au fichier Web.Config et définissez le débogage sur false. Cela change le temps de chargement de> 15 secondes à <1 seconde

    <system.web>
        <compilation debug="false" strict="false" explicit="true" targetFramework="4.0" />
        ...
    </system.web>
2
SunOfABee

Essayez d'activer le serveur proxy Ignorer les adresses locales . Cela fonctionne pour tous les navigateurs installés (Firefox, Chrome, etc.).

  1. Ouvrez Internet Explorer en cliquant sur le bouton Démarrer Image du bouton Démarrer. Dans la zone de recherche, tapez Internet Explorer, puis, Dans la liste des résultats, cliquez sur Internet Explorer.

  2. Cliquez sur le bouton Outils, puis sur Options Internet.

  3. Cliquez sur l'onglet Connexions, puis sur Paramètres du réseau local.

  4. Cochez la case Utiliser un serveur proxy pour votre réseau local.

  5. Sélectionnez le serveur proxy de contournement pour les adresses locales

2
Dherik

J'utilise Wamp Server , Windows 7 et une machine puissante.

Mon Apache est configuré pour fonctionner à partir d'un autre port que le port 80. J'accède également à mon site local non via "localhost", mais avec un nom d'hôte mappé sur mon IP via dyn.com. Je pense que le fait que je dispose d'un port différent de celui de 80 semble rendre la fonction antivirus Web de Kaspersky très sensible (car de nombreux sites fragmentés utilisent différents ports) et ralentissent le processus.

Le désactiver semble avoir résolu le problème.

1
Jonathan Lahijani

Je viens de changer mon fichier hosts à partir de ceci:

127.0.0.1       abc.com.au
127.0.0.1       def.com.au
127.0.0.1       hij.com.au

à 

127.0.0.1       abc.com.au def.com.au hij.com.au

Remarque: la ligne de site Web concaténée ne peut dépasser quelques centaines de caractères.

0
Jeremy Thompson

Dans mon cas, à l'origine l'erreur suivante se produisait:

Impossible de lire le fichier de configuration en raison d'autorisations insuffisantes

J'ai corrigé l'erreur en utilisant la solution solution et j'ai redémarré l'application via IIS Manager. L'erreur d'origine avait disparu, mais l'application prenait forever pour charger. J'ai donné les autorisations à IIS_IUSRS à nouveau mais cette fois à l'ensemble du dossier de déploiement. Après cela, l’application a été capable de charger bien qu’une erreur s’affiche:

Cette section de configuration ne peut pas être utilisée sur ce chemin

Après avoir résolu l’erreur susmentionnée à l’aide de solution , le chargement de l’application a finalement été effectué sans donner d’erreur.

0
tehmas

La cause de ceci pour moi était que le projet était situé sur un lecteur réseau. J'ai déplacé le projet sur le lecteur C: et tout s'est déroulé sans délai.

Si le projet est situé sur un lecteur réseau, essayez de le déplacer sur votre lecteur C: local et essayez à nouveau.

L’augmentation des performances est bien supérieure à ce que vous attendez de la vitesse du réseau. Je suppose que VS accède continuellement aux fichiers lors du débogage d’une application ASP.NET MVC. J'utilisais VS 2017, le débogage ASP.NET MVC sur IIS Express et cela fonctionnait pour moi.

J'espère que ça aide. 

0
Alan

Après la construction de votre projet, le site Web a besoin de temps pour parcourir la nouvelle DLL:) . Il est normal que le chargement d’une page Web après la reconstruction prenne du temps. Cela ne devrait pas arriver quand on ne change que quelque chose, par exemple en javascript.

0
Younes

Exécutez le Moniteur de processus pour voir quelles ressources (réseau, fichier, registre, threads) sont consommées et voir toutes les ressources inutiles (https distantes, lectures de fichiers coûteuses).

J'ai eu le même problème. Lorsque j’exécute le moniteur de processus, j’ai constaté que mon journal de fusion était activé. De nombreux disques sur le disque retardant le chargement de dll après la désactivation du journal de fusion IIS Express sont plus rapides.

 enter image description here

0
Thiru

Je sais que l’opération utilisait une ancienne version de IIS et que cela ne s’appliquait peut-être pas à lui, mais je le publie car cela pourrait aider les autres. J'ai eu le même problème et aucun des changements de fichiers IPv6 ou hôtes ci-dessus n'a fonctionné pour moi. Mon projet asp.net MVC4 était vraiment lent après avoir appuyé sur F5 pour actualiser les modifications de js sur localhost. Cela se produisait sur tous les navigateurs - Chrome, FF et IE. Finalement, j'ai réalisé que j'exécutais IIS Express 8.0 localement, et il s'avère que la version 8.0 est extrêmement lente pour servir des fichiers js et semble être un bogue. Si j'ai exécuté iisexpress sur la ligne de commande et appuyé sur F5, je pouvais voir que chaque fichier js prenait 4 ou 5 secondes à se charger.

J'ai fini par désinstaller IIS 8.0 et installer IIS express 7.5 et immédiatement le problème a été corrigé. Voici les étapes que j'ai suivies:

IIS Express 8.0 semble être installé avec VS 2012. Par conséquent, une nouvelle installation ou éventuellement une mise à jour du service pack risque de mettre à niveau la version précédente de IIS Express.

0
Ciaran Bruen