Quels sont les paramètres optimaux pour le recyclage des pools d'applications dans IIS7 dans un environnement partagé?

StackOverflow https://stackoverflow.com/questions/198580

  •  10-07-2019
  •  | 
  •  

Question

Quels sont les paramètres optimaux pour le recyclage des pools d'applications dans IIS7 dans un environnement partagé?

entrer la description de l'image ici

Était-ce utile?

La solution

En tant qu'hôte, vous souhaitez certainement recycler sur la mémoire & amp; Temps, potentiellement limites de demande et CPU. Vous voulez être assez agressif à propos de ces limites, mais assurez-vous de les publier à vos clients.

Mémoire - 512 pour une boîte x86, peut-être 768. Pour x64, vous pouvez définir une valeur beaucoup plus élevée en fonction du nombre d'hôtes par serveur. Soyez juste prudent et regardez votre pool d'applications recycler des événements sur des problèmes de mémoire.

Heure - Nous recyclons généralement à 1 heure du matin, plus ou moins (premier site 1:01, deuxième 1:11, troisième 1:21, afin que vous ne puissiez pas tous recycler en même temps)

Limite de demande - 35 000 était la valeur par défaut pour IIS6, mais ce nombre est assez arbitraire et très dépendant du site en question. Pour les sites de petite taille, le recyclage nocturne aura lieu bien avant que vous obteniez 35 000 requêtes.

CPU - 95 Limite% / 1 minute / KillW3WP, mais utilisez-la avec précaution. Si j'ai bien compris, si le processeur atteint 95% et plus après la limite d'une minute pour ce processus de travail, le processus de travail est tué et ne peut pas redémarrer pour le reste de la limite lorsque Action est défini sur KillW3WP. Vous voudrez peut-être commencer par essayer NoAction et juste regarder attentivement les journaux de vos événements.

Recycler les journaux d'événements - Vous voulez vous assurer que vous vous connectez, le pool d’applications se recycle pour chaque seuil d’événement que vous définissez - c’est-à-dire que si vous limitez en fonction des limites des demandes, assurez-vous que la journalisation Request Limit est activée.

Une chose à retenir est que vous devez définir retail="true" dans l'élément <deployment> de votre machine.config :

<system.web>
    <!--
        <deployment
            retail = "false" [true|false]
        />
    -->
    <deployment retail="true" />
</system.web>

Si cette option n'est pas définie, un site pourra activer le débogage, ce qui autorise des délais illimités dans les requêtes - ce qui n'est pas vraiment idéal pour un hébergeur ...

Autres conseils

Si vous avez un site très fréquenté, utilisez une planification de recyclage longue. Si vous avez un site à faible trafic, utilisez une planification plus courte / par défaut pour économiser de la mémoire.

Je l'ai appris sur le blog d'Al Zabir: http://msmvps.com/blogs/omar/archive/2008/10/04/best-practices-for-creating-websites-in-iis-6-0 .aspx

Daniel S. a raison, vos variables de session sont détruites lors du recyclage, alors assurez-vous de bien le tester ou d'obtenir une protection / récupération après erreur lors de l'obtention de vos objets de session.

Conseil: lorsque vous recyclez votre application, toutes vos variables de session sont détruites ... soyez prudent!

IMHO, conservez les valeurs par défaut.

vous devez adapter les paramètres à vos besoins, prendre en compte la quantité de mémoire dont vous disposez et les heures de pointe d'utilisation de votre site / application Web.

Tenez également compte de l'utilisation de la mémoire de votre site / de votre application Web, comme s'il y avait des fuites de mémoire que vous pourriez recycler plus souvent que vous le pensez.

Pesez toutes les fuites par rapport au coût du recyclage, comme indiqué ci-dessus, vous perdrez des variables d'état.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top