Accueil     Commander     Clients     Téléchargements     Contacts     I-mode        Offre spéciale
   Hébergement ASP-PHP
      Pack PRO I
      Pack PRO II
      Pack PRO III
   Hébergement .NET
      Pack .NET I
      Pack .NET II
      Pack .NET III
   Revendeurs
      SEMI-DEDIE I
      SEMI-DEDIE II
      SERVEURS DEDIES
   Services
      NOM DE DOMAINE
      HTTPS & SSL
      E-COMMERCE
      SQL SERVEUR
      WEBMAIL
      REFERENCEMENT
   Les + Prosygma
      NOS TARIFS
      LE RESEAU
      ASSISTANCE
   Outils
      WHOIS
      FAQ
      Aide IIS
      Ressource KIT FP
      Composants ASP
     PARTENAIRES
     
     
     

Solutions hébergement
Support Dot NET.
  
  Source : Les laboratoires Microsoft

 

Utilisation du modèle de processus


La fiabilité est l'une des exigences les plus importantes imposées aux applications ASP.NET Framework. L'architecture d'applications s'exécutant à l'intérieur du processus serveur (dans IIS, Inetinfo.exe) ne constitue pas une base solide pour la génération d'applications fiables pouvant continuer à s'exécuter pendant une période prolongée. De trop nombreuses ressources sont partagées au niveau du processus et une erreur peut aisément mettre fin à la totalité du processus serveur.

Pour résoudre ce problème, ASP.NET fournit un modèle d'exécution out-of-process qui protège le processus serveur du code utilisateur. Il vous permet également d'appliquer l'heuristique à la durée de vie du processus afin d'améliorer la disponibilité de vos applications Web. L'utilisation de communications interprocessus asynchrones vous permet d'atteindre le meilleur équilibre entre les performances, l'évolutivité et la fiabilité.

Configuration du modèle de processus

Les paramètres du modèle de processus sont exposés dans le fichier de configuration racine de l'ordinateur, Machine.config. La section de configuration, appelée <processModel>, est illustrée dans l'exemple suivant. Le modèle de processus est activé par défaut (enable="true").

La plupart de ces paramètres contrôlent le moment du démarrage d'un nouveau processus de traitement pour répondre à des demandes (prenant normalement la place d'un ancien processus de traitement). Le modèle de processus prend en charge deux types de recyclage : le recyclage réactif et le recyclage proactif.

Recyclage de processus réactif

Le recyclage de processus réactif se produit si le processus a un comportement anormal ou est incapable de répondre à des demandes. Le processus affiche généralement les symptômes détectables, tels que les blocages, les violations d'accès, les fuites de mémoire notamment, afin de déclencher un recyclage de processus. Vous pouvez contrôler les conditions qui entraînent le redémarrage d'un processus en utilisant les paramètres de configuration décrits dans le tableau suivant.

ParamètreDescription
requestQueueLimit Gère les conditions de blocage. La valeur DWORD correspond au nombre maximal de demandes autorisé dans la file d'attente, au-delà duquel le processus de traitement est considéré comme ayant un comportement anormal. Lorsque ce nombre est dépassé, un nouveau processus est lancé et les demandes sont réassignées. La valeur par défaut est 5 000 demandes.
memoryLimit Gère les conditions de fuite de mémoire. La valeur DWORD correspond au pourcentage de mémoire physique pouvant être utilisé par le processus de traitement avant que son comportement soit considéré comme anormal. Lorsque ce pourcentage est dépassé, un nouveau processus est lancé et les demandes sont réassignées. La valeur par défaut est 80 %.
shutdownTimeout Spécifie la durée pendant laquelle le processus de traitement doit s'arrêter normalement (valeur de chaîne au format h:min:s). Lorsque le délai expire, l'ISAPI ASP.NET arrête le processus de traitement. La valeur par défaut est « 00:00:05 ».

Recyclage de processus proactif

Le recyclage de processus proactif redémarre périodiquement le processus de traitement, même si le processus est sain. Cela peut être utile pour éviter tout refus de service dû à des conditions que le modèle de processus est incapable de détecter. Un processus peut être redémarré après un nombre spécifique de demandes ou au terme d'une période d'expiration.

ParamètreDescription
timeout Valeur de chaîne au format h:min:s, configurant le délai limite au terme duquel un nouveau processus de traitement doit être lancé pour remplacer le processus actuel. La valeur par défaut est infinite, mot clé indiquant que le processus ne doit pas être redémarré.
idleTimeout Valeur de chaîne au format h:min:s, configurant le temps d'inactivité au terme duquel le processus de traitement est automatiquement arrêté. La valeur par défaut est infinite, mot clé indiquant que le processus ne doit pas être redémarré.
requestLimit Valeur DWORD correspondant au nombre de demandes au-delà duquel un nouveau processus de traitement doit être lancé pour remplacer le processus actuel. La valeur par défaut est infinite, mot clé indiquant que le processus ne doit pas être redémarré.

Journalisation des événements du modèle de processus

Le modèle de processus peut écrire des événements dans le journal des événements Windows lorsque des cycles de processus se produisent. Cette opération est contrôlée par l'attribut logLevel de la section de configuration <processModel>.

ParamètreDescription
logLevel Contrôle que les événements de cycle de processus sont enregistrés dans le journal des événements. Vous avez le choix entre les valeurs suivantes :
  • All : Tous les événements de cycle de processus sont enregistrés dans le journal.
  • None : Aucun événement n'est enregistré dans le journal.
  • Errors : Seuls les événements inattendus sont enregistrés dans le journal.

Lorsque se produit un événement de cycle de processus et que la journalisation est activée pour cet événement, les événements suivants sont écrits dans le journal des événements de l'application.

Raison de l'arrêtType de journal des événementsDescription
Unexpected Erreur Le processus de traitement ASP.NET s'est arrêté de manière inattendue.
RequestQueueLimit Erreur Le processus de traitement ASP.NET a redémarré, car la limite de la file d'attente des demandes a été dépassée.
RequestLimit Information Le processus de traitement ASP.NET a redémarré, car la limite des demandes a été dépassée.
Timeout Information Le processus de traitement ASP.NET a redémarré, car l'intervalle du délai s'est écoulé.
IdleTimeout Information Le processus de traitement ASP.NET s'est arrêté, car l'intervalle du délai en état de veille s'est écoulé.
MemoryLimitExceeded Erreur Le processus de traitement ASP.NET a redémarré, car la limite de mémoire du processus a été dépassée.

Activation de jardins Web

Le modèle de processus permet l'évolutivité sur des ordinateurs multiprocesseurs en répartissant le travail entre plusieurs processus (un pour chaque UC), ayant un paramètre Affinité du processeur correspondant à son UC. Cela élimine les conflits de verrouillage interprocesseurs, ce qui est idéal pour les grands systèmes SMP. Cette technique est appelée « jardinage Web ». Les paramètres de configuration pour l'activation de jardins Web sont énumérés dans le tableau suivant. Remarquez que ces paramètres n'entrent en vigueur qu'après le redémarrage du serveur. IIS doit être redémarré pour que ces modifications soient appliquées.

ParamètreDescription
webGarden Contrôle l'affinité de l'UC. La valeur True indique que l'affinité des processus doit être définie à l'UC correspondante. La valeur par défaut est False.
cpuMask Contrôle le nombre de processus et le mode de fonctionnement du jardin Web. Un processus est lancé pour chaque UC dont le bit correspondant dans le masque a la valeur 1. Si UseCPUAffinity a la valeur 0, le paramètre cpuMask ne contrôle que le nombre de processus de traitement (nombre de bits égal à 1). Le nombre maximal de processus de traitement autorisé est égal au nombre d'UC. Par défaut, toutes les UC sont activées. Un nombre de processus de traitement égal au nombre d'UC s'exécute. La valeur par défaut est 0xffffffff.

Le jardinage Web possède quelques effets secondaires que vous devez connaître :

Résumé de la section

  1. ASP.NET fournit un modèle d'exécution out-of-process qui protège le processus serveur du code utilisateur. Il vous permet également d'appliquer l'heuristique à la durée de vie du processus afin d'améliorer la disponibilité globale des applications Web.
  2. Les paramètres <processModel> sont exposés dans le fichier de configuration racine Machine.config de l'ordinateur. Le modèle de processus est activé par défaut.
  3. Le modèle de processus prend en charge deux types de recyclage : le recyclage réactif et le recyclage proactif. Le recyclage de processus réactif se produit si le processus a un comportement anormal ou est incapable de répondre à des demandes. Le recyclage de processus proactif redémarre périodiquement le processus de traitement, même si le processus est sain.
  4. Le modèle de processus peut écrire des événements dans le journal des événements Windows lorsque des cycles de processus se produisent. Cette opération est contrôlée par l'attribut au niveau du journal dans la section de configuration <processModel>.
  5. Le modèle de processus permet l'évolutivité sur des ordinateurs multiprocesseurs en répartissant le travail entre plusieurs processus (un pour chaque UC), ayant un paramètre Affinité du processeur correspondant à son UC. Cette technique est appelée « jardinage Web ».



Nos serveurs sont désormais des serveurs
Pentium 3 Ghz, 1 Go Ram

 La formule de base est à 10 Euros TTC / mois
Si vous avez des besoins plus spécifiques (composants, espace disque...), nous sommes la pour répondre à vos questions.
Rappel : les frais d'installation sont gratuits


Prosygma élu meilleur site.
 
Trois nouveaux composants ASP sont désormais en place sur toutes nos formules.Il s'agit de ASPIMAGE, ASPPOP3 et ASPMAIL.


La dernière version de Microsoft® .NET Framework contient tout ce qu'il vous faut pour faire fonctionner des applications .NET Framework est disponible sur nos serveurs

Cliquez içi pour commander votre hébergement .Net

Votre nom de domaine en .com, .net ou .org au prix unique : 20 Euros

  Vérifiez la disponibilité d'un nom de domaine