web-dev-qa-db-fra.com

IIS: délai d'inactivité vs recyclage

Dans IIS, il existe deux zones (bien plus que deux) où le recyclage peut avoir lieu:

  1. Dans la section "Modèle de processus" → "Délai d'inactivité" (20 minutes par défaut)

et

  1. Dans la section "Recycler" → "Intervalle de temps normal" (1740 minutes par défaut)

Mes questions sont:

  1. Quelles sont les différences entre les deux méthodes?
  2. Quelles sont les implications négatives des réglages à 0?
88
Ricky

Délai d'inactivité: si aucune action n'a été demandée à partir de votre application Web, le processus supprimera et libérera tout de la mémoire.

Le recyclage est une action forcée sur l'application où votre traitement est fermé et redémarré à des fins de fuite de mémoire et de santé du système.

L’impact négatif de ces deux phénomènes est généralement l’utilisation de votre session et la perte de l’état de votre application si vous utilisez Recycle plus rapidement. Les utilisateurs connectés, etc. lost ", c’est pourquoi le recyclage a une si longue valeur, le délai d’inactivité n’importe pas parce que personne n’est connecté de toute façon et que 20 minutes suffisent pour ne rien acheter.

Le positif serait de vous débarrasser du délai d'inactivité, car votre site Web répondra plus rapidement à sa "première" réponse s'il ne s'agit pas d'un site très actif où un utilisateur devrait attendre son chargement si vous avez un utilisateur toutes les 20 minutes. dire. Donc, un site Web qui reçoit moins de 1 fois en 20 minutes veut réellement augmenter cette valeur, car le site Web doit se recharger de nouveau pour chaque utilisateur. mais si vous définissez cette valeur sur 0 pendant une longue période, toute fuite de mémoire dans le code pourrait, au bout d'un certain temps, prendre entièrement le contrôle du serveur.

92
MichaelEvanchik

De ici :

Une façon de conserver les ressources du système consiste à configurer des paramètres de délai d'inactivité pour les processus de travail d'un pool d'applications. Lorsque ces paramètres sont configurés, un processus de travail sera arrêté après une période d'inactivité spécifiée. La valeur par défaut du délai d'inactivité est 20 minutes.

Vérifiez également Pourquoi le IIS recyclage du pool d'applications par défaut est-il défini sur 1740 minutes?

Si vous ne disposez que de quelques sites sur votre serveur et que vous souhaitez qu'ils se chargent toujours rapidement, définissez cette valeur sur zéro. Sinon, lorsque vous aurez 20 minutes sans trafic, le pool d'applications se terminera pour pouvoir être redémarré lors de la prochaine visite. Le problème est que la première visite d'un pool d'applications doit créer un nouveau processus de travail w3wp.exe qui est lent car le pool d'applications doit être créé, ASP.NET ou un autre framework doit être chargé, puis votre application doit être chargé. Cela peut prendre quelques secondes. C’est pourquoi j’ai fixé cette valeur à 0 chaque fois que j’ai une chance, sauf s’il s’agit d’un serveur hébergeant de nombreux sites qui n’ont pas toujours besoin de fonctionner.

29
Rahul Tripathi

IIS a maintenant

Idle Time-out Action : Suspend réglage

Suspendre ne fait que geler le processus et il est beaucoup plus efficace que de le détruire.

3
nPcomp

J'ai hérité d'une application de bureau qui appelle une série de services Web sur IIS. Les services Web (également) doivent pouvoir exécuter des processus temporisés de manière indépendante (sans que le client ne soit activé). Par conséquent, ils ont tous des minuteries. Les minuteries du service Web s'étaient arrêtées (fuite de mémoire?), Nous avons donc réglé le temps d'inactivité à 0 et les minuteries restent allumées.

1
DaniDev