IIS - разделяется ли сборка мусора между пулами приложений?

Итак, у нас есть несколько пулов приложений в iis для нескольких веб-приложений, разделяется ли сборка мусора между всеми этими пулами приложений или у каждого пула приложений есть собственная сборка мусора?


person JMIreland    schedule 23.02.2018    source источник
comment
Краткий ответ: нет. Каждый пул приложений размещается в собственном процессе со средой выполнения .NET внутри, который имеет свой собственный GC. Единственные общие ресурсы находятся на уровне ОС/железа - ЦП, память и т.д.   -  person Konrad Kokosa    schedule 23.02.2018
comment
Спасибо, я думал, что так и будет, но с поведением, которое я испытал, я просто хотел быть уверенным.   -  person JMIreland    schedule 23.02.2018


Ответы (1)


Сборка мусора зависит от процесса (w3wp.exe), и каждый пул приложений связан с процессом w3wp независимо от количества запущенных в нем приложений.

Таким образом, если у вас есть несколько приложений в одном пуле приложений, и если одно из приложений инициирует сборку мусора, все потоки в процессе будут остановлены до завершения сборки мусора, что также повлияет на другие приложения.

С другой стороны, если каждое приложение имеет свой собственный соответствующий пул приложений, запуск сборщика мусора в одном приложении не повлияет на другие приложения.

Надеюсь, это ответы! Пожалуйста, не стесняйтесь задавать любые дополнительные вопросы.

person Parvez Mulla    schedule 24.02.2018