6 votes

Pourquoi IIS redémarre-t-il aléatoirement mon application web ?

J'avais des problèmes avec un site web sur mon serveur qui perdait occasionnellement l'état de la session.

J'ai limité le problème à IIS7, j'ai donc ajouté une méthode à l'événement Application_Start (il s'agit d'une application ASP.Net MVC), qui m'envoie un e-mail à chaque fois que l'application est lancée et j'ai redéployé le site il y a environ une semaine. Depuis, je reçois l'e-mail de "démarrage" toutes les 26 heures environ.

Donc, je me demande pourquoi IIS redémarre l'application.

8voto

J P Points 727

Ceci est contrôlé par la fonction de recyclage du pool d'applications dans lequel le site réside le plus souvent. Vous pouvez modifier cette fonction pour que le recyclage soit effectué à des heures précises ou à des intervalles plus longs.

3voto

KPWINC Points 11174

Avez-vous jeté un coup d'œil à ce fil ?

http://forums.iis.net/t/1157734.aspx


Bien qu'il ne semble pas y avoir de réponse immédiate à votre question, il semble que ce problème ne soit pas rare.

Il contient également d'autres liens qui peuvent s'avérer utiles.

2 votes

Je l'ai survolé alors. Je viens de le relire. Appelez la société d'hébergement pour savoir quel est le calendrier d'analyse des virus. D'après cet article : blogs.msdn.com/tess/archive/2006/08/02/

0 votes

Oui, ça semble trop "parfait" pour être une coïncidence. Il y a plusieurs théories dans ce fil, donc j'espérais que l'une d'entre elles pourrait vous mener dans la bonne direction :-)

2voto

RKitson Points 223

Will et Shufler avaient tous deux raison. La réserve de candidatures se recyclait d'elle-même.

J'ai découvert cela en sélectionnant le pool dans la liste des pools d'applications et en cliquant sur le bouton "Recyclage...". Cet écran vous donne 3 options pour les intervalles de recyclage : un intervalle de temps défini (minutes), un nombre fixe de demandes, ou à des moments spécifiques. Et il semble que vous pouvez utiliser les 3 options de concert. Vous disposez également de deux options pour les seuils de mémoire qui, une fois atteints, entraînent un recyclage : Utilisation de la mémoire virtuelle (en Ko) ou Utilisation de la mémoire privée (en Ko).

Il s'avère que la piscine était réglée pour se recycler toutes les 1560 minutes.

0 votes

J'ai déjà vu ce cas où une application se recycle en raison de l'utilisation de la mémoire, mais je l'ai rarement vu programmé. Votre hôte l'a-t-il programmé pour une raison particulière ?

1 votes

C'était le paramètre par défaut. C'était un pool d'applications que je venais d'ajouter moi-même à IIS.

1voto

shufler Points 962

Toutes les 26 heures ? Cela ressemble à un pool d'applications qui redémarre automatiquement dans le but de libérer de la mémoire.

0 votes

J'ai également pensé aux pools d'applications dès que j'ai lu la question, mais je me demande toujours pourquoi cela serait nécessaire. Est-ce pour faire face aux fuites de mémoire (ou d'autres ressources) dans IIS ou Windows, ou est-ce pour s'attendre à ce que les applications écrites par l'utilisateur aient des fuites ? Je ne pense pas qu'Apache ou d'autres serveurs Unix fassent ce genre de choses de manière systématique. Je me pose donc la question.

1 votes

La collecte des déchets est une raison importante. Ma principale expérience des pools d'applications concerne SharePoint. Le code SharePoint n'est pas géré, ce dont la plupart des développeurs .NET sont conscients. Il en résulte que le pool d'applications consomme de la mémoire de manière constante tout au long de la journée. La meilleure pratique pour SharePoint est en fait de recycler les pools une fois par jour (ou plus si vous pouvez vous le permettre). Le problème, bien sûr, est que toutes les sessions et connexions sont abandonnées.

1 votes

En d'autres termes, la plupart des développeurs .NET qui débutent avec SharePoint ne connaissent pas (d'après mon expérience)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X