> Tech > Les pools en action

Les pools en action

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Après avoir examiné les principaux composants architecturaux d'IIS 6.0, voyons ce que nous pouvons faire avec un pool d'applications. La boîte de dialogue Properties des pools d'applications a quatre onglets - Recycling, Performance, Health et Identity - illustrés figure 5. Le plus important d'entre eux est peut-être Recycling. L'option de

Les pools en action

cet onglet ordonne à  W3SVC de recycler
(c’est-à -dire, arrêter et démarrer)
le pool d’applications exécutant
vos applications Web, d’après le nombre de minutes écoulées depuis
que le processus a démarré, le nombre
de requêtes get, l’heure du jour, ou la
quantité de mémoire consommée. Par
défaut, les pools d’applications sont recyclés
toutes les 1 740 minutes (29
heures).
W3SVC détermine si un pool est en
bonne santé en se fondant en partie
sur les options de l’onglet Health, qui
incluent Ping worker process every
(frequency in seconds), Worker process
must startup within (time in seconds)
et Worker process must shutdown
within (time in seconds). De
plus, les applications ISAPI (y compris
ASP.NET et asp.dll) peuvent se déclarer
elles-mêmes inaptes au service et demander
à  être recyclées.
Par défaut, quand IIS 6.0 recycle un
pool, il utilise une technique appelée
overlapped recycle. Dans ce mode, le
processus worker défaillant continue à 
fonctionner pendant qu’un nouveau
processus worker démarre. IIS 6.0 délivre
les nouvelles requêtes au nouveau
processus worker mais ne détruit pas
l’ancien processus worker jusqu’à  ce
que l’ancien processus worker serve
les requêtes présentes dans sa file d’attente
ou que des timeouts surviennent.
Les connexions TCP/IP ne sont
pas perdues parce que http.sys les
maintient. Quand le processus worker
défaillant se met en timeout, la nouvelle
requête adressée au nouveau processus worker est nouvelle, et donc
l’information de session stockée dans
le processus est perdue. Tout ce recyclage
se produit sans intervention administrative
et, dans de nombreux cas,
sans interruption de service apparente.
Vous souhaiterez probablement
définir la propriété de métabase
LogEventOnRecycle à  True (1) pour ordonner
à  W3SVC de faire une entrée
dans le journal d’événements quand
un recyclage se produit.
Le chevauchement du recyclage
pourrait poser des problèmes aux applications
qui ne peuvent pas être
multi-instanciées. Dans ce cas, vous
pouvez définir l’entrée de métabase de
données DissallowOverlapping-
Rotation à  True (1) pour désactiver le
chevauchement pour un pool d’applications.
Au lieu de détruire un processus
worker défaillant, vous pourriez
souhaiter le conserver à  des fins de dépannage
approfondi. Pour cela, définissez
la propriété de métabase du processus
worker OrphanWorkerProcess
à  True (1). Vous pouvez aussi définir la
propriété de métabase OrphanAction-
Exe d’après le nom d’un exécutable
pour que celui-ci continue à  fonctionner
quand un processus worker est
rendu orphelin.
Une autre fonction associée aux
pools d’applications est la possibilité
de configurer un pool d’applications
pour qu’il devienne un Web garden.
Pour conceptualiser un Web garden,
on peut imaginer un serveur IIS 5.0
avec trois sites Web, chacun hébergeant
la même application. Si IIS 5.0
pouvait envoyer automatiquement du
trafic à  chacun de ces sites Web identiques,
pourtant distincts, selon un
profil tournant, en distribuant la
charge vers trois processus différents,
vous auriez une ferme Web miniature –
d’où le terme Web garden.
Dans un Web garden IIS 6.0, il n’est
pas nécessaire de créer des sites Web
supplémentaires, il suffit de préciser le
nombre de processus worker que vous
voulez utiliser pour un pool d’applications.
Pour cela, ouvrez la boîte de dialogue Properties du pool d’applications,
allez à  l’onglet Performance, cliquez
sur Web garden, et entrez un
nombre dans l’option Maximum number
of worker processes. Quand la
charge du serveur sera telle que des
processus worker supplémentaires ne
seront pas utilisés, IIS 6.0 les détruira
après un timeout configurable (20 minutes
par défaut). Quand il en aura besoin
à  nouveau, IIS 6.0 fera appel à  un processus worker. Tout cela se produit
sans intervention administrative.
Les pools d’applications (Web gardens
compris) offrent une autre nouvelle
possibilité. Deux nouvelles propriétés
de métabase – SMPAffinitze et
SMPAffinitzeCPUMask – vous permettent
d’attribuer un pool d’applications
à  une CPU afin de pouvoir optimiser
l’utilisation de celle-ci pour vos applications
Web.
Juste au moment où nous commencions
à  nous amuser, je manque
de place. J’ai essayé d’expliquer la nouvelle
architecture IIS 6.0 d’une manière
plus complète que ce que vous voyez
généralement. Dans la 2e partie, je
couvrirai d’autres nouveautés. Vous
constaterez que beaucoup d’entre
elles ont figuré pendant longtemps sur
la liste des souhaits, mais certaines
constitueront des surprises.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010