Интегрированный IIS7 против классического конвейера - который использует больше потоков ASP.NET? - PullRequest
22 голосов
/ 26 февраля 2010

При встроенном конвейере все запросы передаются через ASP.NET, включая изображения, CSS.

Принимая во внимание, что в классическом конвейере только запросы на страницы ASPX по умолчанию передаются через ASP.NET.

Может ли интегрированный конвейер негативно повлиять на использование потока?

Предположим, я запрашиваю 500 МБ двоичного файла с сервера IIS:

  • со встроенным конвейером, ASP.NET рабочий поток будет использоваться для бинарной загрузки (верно?).
  • Для классического конвейера запрос обслуживается непосредственно IIS, поэтому нет ASP.NET используется нить.

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

Я совершенно не в базе?

Ответы [ 2 ]

13 голосов
/ 24 марта 2010

Если вы посмотрите на machine.config, web.config и applicationHost.config в IIS 7, вы увидите, что способ подачи статического содержимого не меняется при переключении между классическим и интегрированным конвейером. Изменяется только то, проходят ли запросы, сопоставленные с asp.net, через управляемый модуль или собственный модуль фильтра ISAPI.

Единственное, что может повлиять на производительность, - это изменить настройки по умолчанию для модулей авторизации и любых пользовательских модулей, добавленных вами при обработке запросов на статическое содержимое. И даже здесь накладные расходы, вероятно, незначительны.

Поэтому более подходящим эталоном будет IIS 6 против IIS 7, и я подозреваю, что IIS 7 будет явным победителем.

0 голосов
/ 26 февраля 2010

Я бы сказал, что вы правы, но я смотрю на это с другой стороны.

Вам нужно обрабатывать запросы для страниц не-ASPX? Например, чтобы зарегистрировать их или запретить ответ, если какое-либо условие не выполняется.

Если вам нужна эта возможность обработки, используйте интегрированный конвейер. Если нет, используйте классический конвейер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...