Les processus de travail sont un moyen de segmenter l'exécution de votre site web entre plusieurs exe. Il y a plusieurs raisons à cela : si l'un des workers se fait démolir par des problèmes d'exécution, les autres ne tomberont pas pour autant. Par exemple, si une requête html arrive et provoque l'arrêt du processus, seules les autres requêtes traitées par ce processeur sont tuées. Un autre exemple est qu'une requête pourrait bloquer les autres threads gérés par le même processeur.
Pour ce qui est du nombre dont vous avez besoin, faites des tests de charge. Lancez l'application à fond et voyez ce qui se passe avec une seule. Ensuite, ajoutez-en d'autres et recommencez. À un moment donné, vous atteindrez un point où le réseau, le disque, le processeur et la mémoire vive de la machine seront vraiment saturés. C'est alors que vous saurez que vous avez trouvé le bon équilibre.
Par ailleurs, vous pouvez contrôler le nombre de threads utilisés par processus de travail via le fichier machine.config. Je crois que la clé est maxWorkerThreads.
Maintenant, attention, si vous utilisez la session, l'état de la session n'est pas partagé entre les processus de travail. Je recommande généralement d'éviter la session de toute façon mais c'est quelque chose à considérer.
À toutes fins utiles, vous pouvez considérer chaque processus de travail comme un serveur web distinct. Sauf qu'ils sont exécutés sur la même machine.