IIS: délai d’inactivité vs recyclage

Dans IIS, il existe deux domaines (enfin, plus de deux) où le recyclage peut se produire:

  1. Sous la section “Modèle de processus” → “Délai d’inactivité” (20 minutes par défaut)

et

  1. Sous la section “Recycle” → “Intervalle de temps régulier” (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 sur 0?

Le délai d’inactivité est le suivant: si aucune action n’a été demandée par votre application Web, le processus sera supprimé et libéré 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 des deux est généralement l’utilisation de votre session et de votre état d’application est perdue si vous utilisez plus rapidement Recycler. lost “c’est pourquoi recycler est à une si grande valeur de délai d’attente, le délai d’inactivité n’a pas d’importance parce que personne n’est connecté de toute façon et chiffre 20 minutes sans action qu’ils ne sont toujours pas” shopping ”

Le positif serait de se débarrasser du délai d’inactivité, car votre site 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 qu’il se charge si vous avez 1 utilisateur toutes les 20 minutes. dire. Donc, un site Web qui reçoit moins de 1 fois en 20 minutes veut en fait augmenter cette valeur, car le site doit être rechargé à partir de zéro pour chaque utilisateur. mais si vous définissez cette valeur sur 0 sur une longue période, toutes les memory leaks dans le code pourraient, sur un certain laps de temps, prendre entièrement en charge le serveur.

De là :

Un moyen de conserver les ressources système consiste à configurer les parameters de délai d’inactivité pour les processus de travail dans un pool d’applications. Lorsque ces parameters sont configurés, un processus de travail s’arrête après une période d’inactivité spécifiée. La valeur par défaut du délai d’inactivité est de 20 minutes.

Vérifiez également pourquoi le recyclage du pool d’applications IIS par défaut est défini sur 1740 minutes?

Si vous ne disposez que de quelques sites sur votre serveur et que vous souhaitez qu’ils soient toujours chargés rapidement, définissez-le sur zéro. Autrement, lorsque vous disposez de 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 à 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 environnement doit être chargé, puis votre application doit être chargé. Cela peut prendre quelques secondes. Par conséquent, je mets toutes ces chances à 0, à moins que ce ne soit pour un serveur qui héberge de nombreux sites qui n’ont pas toujours besoin d’être exécutés.

J’ai hérité d’une application de bureau qui appelle des séries 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 soit activé). Par conséquent, ils ont tous des timers. Les timers du service Web s’éteignaient (fuite de mémoire?), Nous avons donc défini le délai d’inactivité sur 0 et les timers restnt activées.

IIS a maintenant

Idle Time-out Action : Suspend paramètre

La suspension est juste geler le processus et il est beaucoup plus efficace que de détruire le processus.