IIS7 Integrated vs Classic Pipeline - который использует больше потоков ASP.NET?
С интегрированным конвейером все запросы передаются через ASP.NET, включая изображения, CSS.
В то время как в классическом конвейере только запросы на ASPX-страницы по умолчанию передаются через ASP.NET.
Может ли интегрированный конвейер отрицательно повлиять на использование потоков?
Предположим, что я запрашиваю двоичный файл 500 МБ с сервера IIS:
- С интегрированным конвейером ASP.NET
рабочая нить будет использоваться
для бинарной загрузки (справа?).
- С классическим конвейером запрос
обслуживается непосредственно IIS, поэтому нет ASP.NET
используется поток.
Для меня это благоприятствует классическому конвейеру, так как я бы хотел, чтобы как можно больше потоков выполнялось для ASPX-страниц.
Я полностью отсюда?
Ответы
Ответ 1
Если вы посмотрите на machine.config, web.config и applicationHost.config в IIS 7, вы увидите, что способ статического содержимого не изменяется при переключении между классическим и интегрированным конвейером. Единственное, что меняется, - это то, что запросы, сопоставленные с asp.net, проходят через управляемый модуль или собственный модуль фильтра ISAPI.
Единственное, что может повлиять на производительность, - это изменить параметры по умолчанию для модулей авторизации и любые настраиваемые модули, которые вы добавили для выполнения при обработке запросов на статический контент. И даже здесь накладные расходы, вероятно, незначительны.
Поэтому более подходящим эталоном будет IIS 6 против IIS 7, и я подозреваю, что IIS 7 станет явным победителем.
Ответ 2
Я бы сказал, что вы правы, но я смотрю на это с другой точки зрения.
Вам нужно обработать запросы для страниц, не содержащих ASPX? Например, чтобы зарегистрировать их или запретить ответ, если какое-либо условие не выполнено.
Если вам нужна эта возможность обработки, используйте встроенный конвейер. Если вы этого не сделаете, используйте классический конвейер.