1) Wskazane wydaje się posiadanie puli aplikacji dla każdej witryny. Czy są jakieś zastrzeżenia do tego podejścia? Czy jedna pula aplikacji może na przykład pochłonąć cały procesor, pamięć itp.?
To całkiem dobre podejście; nie ma żadnych dobrych powodów, aby myśleć o tym, że różne „witryny” (aplikacje) mają tę samą pulę. Chyba że muszą dzielić jeden zasób. Jedna aplikacja może teoretycznie pochłonąć dużo procesora lub pamięci, ale zmiana sposobu łączenia aplikacji nie wpłynie tak naprawdę na tak wiele.
2) Kiedy należy zezwolić na wiele procesów roboczych w puli aplikacji. Kiedy nie powinieneś
Najlepiej zostaw to w spokoju, używając ustawień domyślnych. Chyba że naprawdę wiesz, co robisz, może to negatywnie wpłynąć na twoją stronę internetową / aplikację.
3) Czy można użyć limitu pamięci prywatnej, aby zapobiec zakłócaniu działania jednej puli aplikacji przez inną? Czy ustawienie zbyt niskiej wartości spowoduje, że prawidłowe żądania przetworzenia puli aplikacji bez uzyskania prawidłowej odpowiedzi?
a) Teoretycznie
b) Tak, ustawienie niższej wartości może mieć negatywne skutki. Ponownie, chyba że masz określone potrzeby i wiesz, co robisz, po prostu zostaw je w spokoju.
4) Jaka jest różnica między limitami pamięci prywatnej i wirtualnej?
To bardzo skomplikowane, oto szybki post, który może pomóc: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/
5) Czy istnieją ważne powody, aby NIE uruchamiać jednej puli aplikacji na witrynę?
Ponownie, jedynym powodem, dla którego mogę wymyślić, jest to, że istnieje jakiś „zasób współdzielony”, którego potrzebuje wiele aplikacji, to chciałbyś je uruchomić w tym samym procesie.
W aplikacjach i witrynach ogólnego zastosowania usługi IIS są dość dobrze skonfigurowane z wartościami domyślnymi.
****AKTUALIZACJA****
W związku z prośbą o dodatkowe informacje na temat nr 2 nie powinieneś tego robić, chyba że masz konkretną potrzebę. Nawet przy długo trwających działaniach serwera żądania są obsługiwane przy użyciu wielu wątków, a do obsługi długo działających zadań można użyć „Żądań asynchronicznych” (które zwalniają wątek puli wątków do obsługi innych żądań). Realistycznie nie mogę wymyślić żadnego dobrego powodu, aby zezwolić na wiele procesów dla jednej puli.
Gdy zaczniesz mówić o wielu procesach, potencjalnie możesz napotkać takie rzeczy, jak: utrata stanu sesji, ponieważ sesja jest aktywna w procesie 1, ale żądanie jest obsługiwane przez proces 2. Lub, co gorsza, musisz dowiedzieć się, jak to zrobić wykonać komunikację między procesami, co jest prawdziwym bólem.
Bez względu na to, z czego przychodzisz, jeśli chodzi o powód wielu procesów, byłbym skłonny założyć się, że istnieje lepszy sposób na poradzenie sobie z tym (zamiast uruchamiania innego procesu).