HTTP.SYS Драйвер режима ядра - PullRequest
5 голосов
/ 01 июля 2010

В чем заключается проблема с HTTP.SYS в IIS 7?

Насколько я понимаю, это низкий уровень, который хорош для безопасности. Почему?

Нет переключения контекста, которое может быть дорогим. Почему?

Пожалуйста, объясните.

Спасибо!

1 Ответ

2 голосов
/ 03 июля 2010

Преимущества уже хорошо документированы,

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a2a45c42-38bc-464c-a097-d7a202092a54.mspx?mfr=true

Используя HTTP.sys для обработки запросов, IIS 6.0 обеспечивает следующее улучшения производительности:

  • Кэширование в режиме ядра. Запросы на кэшированные ответы обслуживаются без переключения в режим пользователя.
  • Очередь запросов в режиме ядра. Запросы вызывают меньше накладных расходов при переключении контекста, потому что ядро ​​перенаправляет запросы непосредственно в правильный рабочий процесс. Если ни один рабочий процесс недоступен для принятия запроса, очередь запросов в режиме ядра удерживает запрос до тех пор, пока рабочий процесс не получит его.

Использование HTTP.sys и новой сервисной архитектуры WWW обеспечивает следующие преимущества:

  • При сбое рабочего процесса обслуживание не прерывается; ошибка не обнаруживается пользователем, потому что ядро ​​ставит запросы в очередь, пока служба WWW запускает новый рабочий процесс для этого пула приложений.
  • Запросы обрабатываются быстрее, поскольку они направляются непосредственно из ядра в соответствующий рабочий процесс пользовательского режима, а не между двумя процессами пользовательского режима.

http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/

HTTP.sys предоставляет следующие преимущества:

  • Кэширование в режиме ядра. Запросы на кэшированные ответы обслуживаются без переключения в режим пользователя.
  • Очередь запросов в режиме ядра. Запросы вызывают меньше накладных расходов при переключении контекста, потому что ядро ​​перенаправляет запросы непосредственно в правильный рабочий процесс. Если ни один рабочий процесс недоступен для принятия запроса, очередь запросов режима ядра удерживает запрос до тех пор, пока рабочий процесс не получит его.
  • Запрос предварительной обработки и фильтрация безопасности.
...