Les « Web Gardens »... sont-ils bons, mauvais ou quoi ?

Y a-t-il des inconvénients à attribuer plusieurs processus de travail (Worker Processes) aux pools d’applications dans IIS ? Ils semblent vraiment faciles à activer et (presque) tout ce que j’ai lu semble suggérer qu’ils sont bons… alors pourquoi IIS ne donne-t-il pas à chaque pool d’applications plus de 10 processus de travail ? Il doit y avoir des effets néfastes, non ?


Source : [Server Fault](http://blogs.iis.net/chrisad/archive/2006/07/14/1342059.aspx](http://blogs.iis.net/chrisad/archive/2006/07/14/1342059.aspx)

Vous avez raison d’être méfiant. L’absence d’inconvénients des Web Gardens est un mythe tenace : ils peuvent vous causer une multitude de problèmes, mais beaucoup de gens ne savent toujours pas quand ils devraient être utilisés.

Selon Chris Adams (de l’équipe IIS), il n’y a qu’une seule raison pour laquelle vous voudriez utiliser un Web Garden : donner aux applications qui ne sont pas limitées par le CPU mais qui exécutent des requêtes de longue durée la capacité de monter en charge sans utiliser tous les threads disponibles dans le processus de travail. Il y a de nombreuses raisons pour lesquelles ils peuvent être néfastes ; c’est une idée fausse courante de penser qu’il n’y a aucun inconvénient.

Ils augmentent la surcharge système (ils ne partagent pas le cache), ils ne partagent pas les sessions (l’utilisateur peut perdre sa session s’il est basculé vers un autre processus), InProc peut dysfonctionner. En bref, ils causent plus souvent qu’autrement beaucoup de problèmes, et vous ne devriez pas en utiliser un sans bonne raison.

Lisez l’explication complète de Chris : http://blogs.iis.net/chrisad/archive/2006/07/14/1342059.aspx

Lecture complémentaire :
http://weblogs.asp.net/owscott/why-you-shouldn-t-use-web-gardens-in-iis-week-24