Asp.net
IIS express 請求的執行時間延長了 4 倍
我已將在 Windows 7 上執行的 WCAT 結果(相同的腳本)上傳到 ts: included XSL in zip。對不起。
這是我注意到的:
- 與普通 IIS 相比,IIS Express 每秒的請求數和處理的總事務數略高。
- IIS Express 一次最多執行 100 個請求,而 Windows 7 上的普通 IIS 按照設計限制為 10 個。
- IIS express 使用的 cpu 高出 30%,這可能是因為它一次處理了額外的請求。
- 但平均而言,Express 請求需要更長的時間才能完成……最多 4 倍。請參閱請求執行時間性能計數器和時間分析(第一個和最後一個字節)。
IIS Express 只能在所服務的請求總數中擊敗 IIS,因為它一次可以處理更多請求!
關於正在發生的事情的理論:
- IIS express 將每個請求列印到命令行視窗這一事實是否會減慢它的速度?
- 我還注意到在 IIS express
applicationhost.config中註冊的許多附加模組不在 IIS 中applicationhost.config。那麼額外的調試/跟踪模組會導致問題嗎?- 我注意到 IIS express 沒有
FileCache和HTTPCache模組。這可能是為什麼?如果 IIS express 不受限制,我希望 asp.net 專家能夠闡明這些結果是如何可能的。
預設情況下,為 IIS Express 啟用失敗的請求跟踪。如果禁用它,您可能會看到一些性能提升。(在 applicationhost.config 中為 traceFailedRequestsLogging 元素設置 enabled=“false”)
連接點:http ://forums.iis.net/p/1175052/1969390.aspx#1969390 。iis.net 論壇上也提出了同樣的問題,引發了熱烈的討論。
澄清一下,IIS Express 主要是作為一種 Web 開發工具,它提供了 Cassini 開發伺服器的超集功能。性能不是此版本的首要任務。IIS Express 確實沒有連接限制,但與 XP 的兼容性是有代價的。
- 對於大部分是動態內容的應用程序,IIS express 的成本應該是可以接受的。
- 對於具有大量靜態內容的網站,缺少 http.sys 核心記憶體以及使用者模式記憶體將產生巨大的性能差異
嘗試將標準輸出重定向到 nul。它會提高你的性能一點點。