J'ai une application Web ASP.NET (v4.0) installée dans un répertoire virtuel (en tant qu'application) et hébergée dans son propre pool d'applications. Ceci est répété pour chaque instance de l'application (c'est-à-dire par client).
Les pools d'applications sont intégrés en mode (non classique) et LoadUserProfile est défini sur true. Sinon, les paramètres par défaut.
Chaque instance possède actuellement sa propre copie du code / config et son propre dossier de données (lecture / écriture de fichier de base).
1 instance de cette application fonctionne bien (l'opération utilisée pour la comparaison prend environ 4 secondes). Toutes les autres instances s'exécutent lentement (de 10 à 25 secondes pour la même opération).
Si je déplace l'instance la plus lente vers le pool d'applications "le plus rapide", cette instance prend vie. Si je déplace l'instance la plus rapide dans le pool d'applications plus lent, cette instance ralentit vers une analyse.
Les pools d'applications ont été créés initialement de la même manière - manuellement. J'ai ensuite utilisé la routine de copie PowerShell pour garantir une copie exacte du pool d'applications plus rapide et toujours le même comportement. La comparaison des fichiers apppool.config montre qu'ils sont identiques sauf les affectations de répertoire virtuel.
Il n'y a pas de ressources partagées bloquées, pour autant que je sache, et j'ai testé cela en fermant le pool d'applications performant et en redémarrant ... lent est toujours lent, puis quand je redémarre ce pool d'applications (il est donc chargé enfin) c'est encore plus rapide ...