1) Мабуть, доцільно мати пул додатків для кожного веб-сайту. Чи є якісь застереження до цього підходу? Чи може один пул прикладних програм, наприклад, загорнути весь процесор, пам'ять, тощо ...?
Це досить хороший підхід; немає жодних вагомих причин, з яких я можу подумати, що різні "сайти" (додатки) мають один і той же пул. Якщо їм не потрібно спільно використовувати окремий ресурс. Один додаток теоретично може завищити багато процесора чи пам’яті, але зміна способів об’єднання програм не дуже вплине на це.
2) Коли слід дозволити кілька робочих процесів у пулі додатків. Коли ви не повинні?
Це найкраще залишити в спокої, використовуючи налаштування за замовчуванням. Якщо ви дійсно не знаєте, що ви робите, це насправді може негативно вплинути на ваш веб-сайт / додаток.
3) Чи можна використовувати обмеження приватної пам’яті, щоб один пул додатків не втручався в інший? Чи встановлення цього занадто низького рівня викликатиме дійсні запити на переробку пулу додатків, не отримуючи дійсної відповіді?
а) Теоретично
b) Так, встановлення його нижчого значення може мати негативні наслідки. Знову ж таки, якщо у вас немає конкретних потреб і не знаєте, що ви робите, просто залиште їх у спокої.
4) Яка різниця між обмеженнями приватної та віртуальної пам'яті?
Це дуже складно, ось я знайшов короткий пост, який може допомогти: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/
5) Чи є вагомі причини НЕ запускати один пул додатків на одному сайті?
Знову ж таки, єдиною причиною, про яку я можу подумати, є те, якщо є якийсь "спільний ресурс", який потребує декількох додатків, то ви хочете запустити їх в одному процесі.
Для додатків загального призначення та веб-сайтів IIS досить добре налаштований з його значеннями за замовчуванням.
**** ОНОВЛЕННЯ ****
Що стосується вашого запиту на додаткову інформацію на №2, ви не повинні робити цього, якщо у вас немає конкретної необхідності. Навіть із діями сервера, що займають тривалий час, запити подаються за допомогою декількох потоків, і ви хочете використовувати "Запити на асинхронізацію" для обробки тривалих завдань (що звільняє нитку пулу потоків для обробки інших запитів). Реально я не можу придумати жодної вагомої причини, щоб дозволити кілька процесів для одного пулу.
Після того, як ви починаєте говорити про декілька процесів, ви, можливо, зіткнетеся з такими речами, як: втрата стану сеансу, оскільки сесія жива в процесі 1, але запит обробляється процесом 2. Або ще гірше, ви повинні зрозуміти, як це зробити зайнятись міжпроцесорним спілкуванням, що є справжнім болем.
Незалежно від того, з чим ви стикаєтесь з приводу численних процесів, я б хотів зробити ставку, що є кращий спосіб впоратися з цим (а не розпалювати інший процес).