40 votes

Lente premier chargement de la page sur asp.net site

Chaque maintenant et puis (toujours après une longue période de temps d'inactivité, pour la nuit par exemple) lorsque je visite un site construit à l'aide de asp.net - il faut environ 15 secondes pour charger la page (15 secondes avant de voir un quelconque progrès, la page vient très vite).

Autres pages sur ce site, ou des rafraîchissements, sont rapide, comme d'habitude, ils sont aussi rapides sur d'autres machines, seule la première semble prendre le "hit".

Page traçage jamais par quoi que ce soit (tout le cycle a été une fraction de seconde)

Donc ma question est, où dois-je regarder? Peut-être IIS? Ou pourrait-il encore être mon asp.net app et je suis juste à la recherche dans le mauvais endroit (la trace) pour trouver des indices?

Comme je n'ai pas beaucoup de contrôle sur le serveur IIS, tout ce que je peux vérifier asp.net serait plus utile, avant d'aller me poser cette admin.

cheers :D

39voto

Klaus Byskov Pedersen Points 43779

Le pool d'applications IIS est arrêté après 30 minutes d'inactivité. Après cela, lorsque vous faites une demande IIS a essentiellement pour démarrer le site web de nouveau, ce qui conduit au comportement que vous décrivez. Vous pouvez modifier le temps d'inactivité de votre site web dans iis si pour l'éviter.

21voto

Trevor Points 328

Vous pouvez également regarder dans le Démarrage Automatique de la fonctionnalité du framework 4.0.

10voto

Doug Points 3948

Si vous utilisez IIS 7, il y a un IIS plugin Application d'appel d'échauffement qui va aider

J'ai écrit un billet de blog à propos de mes expériences à l'aide ici (je ne sais pas si je suis autorisé à poster sur mon propre contenu?):

http://www.diaryofaninja.com/blog/2010/05/06/keep-your-aspnet-websites-warm-and-fast-247

5voto

IrishChieftain Points 11173

Vous pouvez planifier le recyclage de l'application de la piscine, éventuellement à l'aide d'un warm-up de script. Donner son propre pool d'applications d'abord et voir si cela aide.

5voto

David Waters Points 6645

Futhering les réponses que noté IIS s'arrête inactif, car votre site est de retour de votre Application.OnStart le feu (dans votre global.asa) Si vous faites beaucoup de travail ici, cela peut ralentir votre application. D'autres choses qui se passent tous vos caches sera vide, tous vos DB connexion sera coupée.

Ce comportement est configurable dans IIS, si vous n'avez pas accès aux paramètres IIS un hacky moyen de contourner cela est de frapper votre site tous les 10 minites, soit à partir d'un script ou d'une page spéciale qui a un meta refresh.

Votre autre option est d'accepter que la première page de la journée permettra de prendre quelques secondes de plus, puis usal.

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