разница между режимом ядра и режимом пользователя кэширование в IIS 8.0

в чем разница между кэшированием в режиме ядра и кэшированием в режиме пользователя и как отслеживать оба ?

1 ответов


кэширование в режиме ядра по существу будет обрабатывать запросы кэширования на уровне ОС, поэтому содержимое, которое хранится в нем, может быть доступно, не спускаясь по остальной части обычного конвейера (т. е. ему не придется спускаться к ASP.NET или кэш уровня IIS для проверки содержимого):

enter image description here

таким образом, запрос попадает в исходный кэш (http.sys), находит то, что ему нужно, и отправляет его обратно, без необходимости продолжать дальше трубопровод.

в результате этого, это, как правило, довольно быстро. Однако его ограничение заключается в том, что он не поддерживает многие функции пользовательского уровня, такие как аутентификация и авторизация, поэтому он может не соответствовать всем сценариям.

User-mode, с другой стороны, заполнит пробелы, в которых нельзя использовать Kernal-mode, который в первую очередь окружает авторизованный/аутентифицированный контент (поскольку он требует проверки, чтобы увидеть, действительно ли пользователь может получить доступ к содержимому), но есть многие другие сценарии это может вызвать http.sys кэш не используется.

что касается фактической проверки того, кэшируется ли содержимое (и, возможно, почему), вы можете использовать FREB (буферизация событий неудачного запроса). Чтобы узнать, какой контент кэшируется в режиме ядра, можно использовать следующую команду:

netsh http show cachestate