Назад | Перейти на главную страницу

Документация для собственных модулей в IIS 7.x

Некоторое время я работал над суперэкономичной конфигурацией IIS 7.5 для веб-сайта, предназначенного для обслуживания статических файлов. Чтобы добиться этого, я просто удалил указанный веб-сайт для всех динамических модулей и указал только собственные модули, такие как StaticFileModule, AnonymousAuthenticationModule, HttpCompressionModule и т.п.

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

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

Некоторые модули говорят сами за себя (т. Е. DefaultDocumentModule, DirectoryListingModule), но некоторые нет.

Можно ли где-нибудь найти документацию по встроенным собственным модулям?

Матиас,

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

Поскольку это минимальная установка IIS, я предполагаю, что вы не устанавливаете интеграцию .NET. Если это предположение верно, то приведенная выше ссылка должна быть всем, что вам нужно, поскольку вам не о каких управляемых модулях следует беспокоиться.

При использовании графического интерфейса для установки IIS и простом выборе модуля «Статическое содержимое» вы получаете следующие модули:

<globalModules>
    <add name="UriCacheModule" ... />
    <add name="FileCacheModule" .../>
    <add name="TokenCacheModule" ... />
    <add name="HttpCacheModule" ... />
    <add name="ProtocolSupportModule" ... />
    <add name="StaticFileModule" ... />
    <add name="AnonymousAuthenticationModule" ... />
</globalModules>

Вы можете сократить их до двух:

<globalModules>
    <add name="AnonymousAuthenticationModule" ... />
    <add name="StaticFileModule" ... />
</globalModules>

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

DefaultAppPool настроен на использование .NET Framework 'v2.0' хотя для этого нет никакой поддержки. Измените это на 'No Managed Code'.

Если вы обслуживаете только GIF, PNG и JPG также удалите все другие типы MIME.