2011-01-19 131 views
1

我試圖尋找答案,以這種「相關」的問題,但他們似乎沒有真正被相關...加快Web應用程序的編譯

基本上我有一個目錄中的VB.Net應用,管理部分(可以改變目錄,監視頁面瀏覽等等)和客戶前端的其他基本頁面。

當我在本地機器上編譯和運行應用程序時,它似乎很快編譯並運行得非常快。但是,當部署在服務器上時,它似乎需要花費很長時間和一天的時間才能完成首頁加載(不管它是哪個頁面,有多少樣式表/ JS文件,有多少圖片,頁面標記有多大以及等等)。在這之後,所有頁面加載速度非常快。我的猜測是這是由於必須從頭開始加載代碼;之後,直到它被回收,應用程序運行速度非常快。有沒有人有任何想法如何我可以加快這部分的應用程序?我擔心有些客戶(因速度低於撥號速度而導致連接速度慢等)可能會由於加載速度不夠快而離開網站而永遠不會返回。任何幫助將不勝感激。

在此先感謝。

問候,

理查德

PS如果你是指我的一些其他問題,你會發現更多的有關係統,如大多數數據加載到對象的事實第一頁加載 - 我正在慢慢分揀出來,但它似乎並沒有造成這麼大的差別。我曾經考慮過使用Linq-to-SQL,但據我所知,這並沒有給我太大的靈活性。我寧願定義自己的系統體系結構,並將其專用於公司,而不是在Linq-to-SQL的限制範圍內工作。

+0

它是一個Web應用程序或網站?它是否預編譯? 「永遠和一天」究竟有多久? – bzlm 2011-01-19 22:22:02

+0

這是一個在Visual Web Developer中設置的Web應用程序。在將它們發送到實時或測試環境之前,我總是編譯我的應用程序。永遠和一天的範圍從約5秒到10或15秒。它似乎變化很大。我的意思是,如果在同一臺服務器上有一些高容量的站點,它可能很容易受到一天中的時間的影響,但在一天中的任何時間似乎都不是特別快。 – ClarkeyBoy 2011-01-19 22:26:37

回答

0

如果可以,最簡單的解決方案就是將AppDomain配置爲在閒置一段時間後不回收。 IIS 6 & IIS 7之間的差異如下:

另一種方法是編寫一個小型實用程序,該程序每4分鐘向網站請求一個頁面,並將其設置爲另一臺計算機上的計劃任務時間。至少可以防止發生超時和隨後發生的AppDomain回收。可以肯定的是,這是一種黑客攻擊,但有時候任何解決方案總比沒有解決方案好。

但是,正確的解決方案是precompile your views。如何完成和部署這取決於您的網站的Visual Studio項目的確切類型。

相關問題