2009-07-16 132 views
0

嗨,我已經在Windows 2003服務器上部署了我們的asp.net網站之一。爲什麼asp.net響應速度慢

當我請求默認頁面時,總是會首先響應會話需要更多時間。我認爲由於圖像渲染/ CSS和JavaScript。

有什麼辦法可以儘快做出迴應。同樣在我的default.aspx中,我爲每個Web部件使用6個Web部件和6個用戶控件。

回答

1

對asp.net站點的第一個請求將觸發站點編譯。在visual studio 2005中引入了一些選項,允許您在部署前預編譯站點,這樣可以避免服務第一頁的初始延遲。

本文詳細介紹了第一次請求期間發生的情況。 http://www.odetocode.com/Articles/417.aspx

1

Web應用程序向IIS的第一次請求將總是需要更多時間,因爲它必須啓動應用程序並編譯ASPX文件。它還必須執行代碼來處理應用程序啓動,例如Global.asax中的Application_Start。

你不能完全解決這個問題,但你可以通過預編譯網站,在可能的情況下在後臺進行初始化,並確保在web.config文件中將編譯調試設置爲false 。

1

如果我理解正確(而且我經常沒有這樣做),那麼對ASP.NET應用程序的第一個請求必須將應用程序編譯到CLI中,這需要比後續請求稍長的時間。圖像和CSS/JS將對事物的方案產生最小的影響。

您可以嘗試預編譯或調整應用程序池設置以最大限度地減少影響(減少工作流程回收次數等),但是您將始終在第一次請求應用程序/頁面時遇到此問題該應用程序啓動。

除此之外,研究緩存,優化您的輸出(例如,最大限度地減少HTTP請求的數量,服務器輸出上的gzip壓縮)。這將有利於您的最終用戶。

如前所述,確保調試=「假」,在你的web.config設置,即

<compilation debug="false">...</compilation> 

這是驚人的差異這種小的變化可以做到的。