Windows-Server-2008-R2
IIS 7.x 中本機模組的文件
我一直在為靜態文件服務目的網站使用超級精簡的 IIS 7.5 配置工作了一段時間。為了實現這一點,我簡單地剝離了所有動態模組的指定網站,並且只指定了本地模組,例如
StaticFileModule
、AnonymousAuthenticationModule
等HttpCompressionModule
。事實證明,這會導致工作程序的記憶體佔用和處理成本顯著下降,並且整體性能比預設網站要好得多。
現在,作為下一步,我想看看是否可以進一步減少載入到記憶體中的模組數量。
我可以一個一個地刪除模組並嘗試查看它如何影響性能和功能,但我更願意研究各個模組實際具有/管理的功能。
一些模組是不言自明的(即
DefaultDocumentModule
,,DirectoryListingModule
),但有些不是。有沒有什麼地方可以找到內置本機模組的文件?
馬蒂亞斯,
您可以在此處找到 IIS 中內置的本機和託管模組的列表(模組參考部分)。本文件只會為您提供本機或實用程序模組的描述。
由於這是 IIS 的最小安裝,我假設您沒有安裝 .NET 集成。如果這個假設是正確的,那麼上面的連結應該是你所需要的,因為沒有託管模組需要擔心。
使用 GUI 安裝 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 類型。