2011-04-18 69 views
0

嗨 我一直在研究中型MVC項目。它在本地主機上運行良好,速度很快。在每個頁面中,都會檢索到很多服務器端數據,我使用大量jQuery來最小化服務器的流量,但即使如此,網頁加載速度也非常緩慢。有很多事件可以檢索json結果,從數據庫中獲取特定的數字並進行計算,但這些數據需要很長時間才能在網頁上檢索,儘管在本地主機上會立即顯示。另外,當我提交頁面時,需要很長時間才能提交。我已經將我的項目發佈到GoDaddy的服務器,並且我的數據庫也在那裏。可能導致項目進展緩慢的問題是什麼?我怎樣才能最小化它?爲什麼只有當網站在線而不在本地主機上?ASP.Net MVC網站..發佈後極其緩慢

回答

0

因此,問題可以在任何地方,只有某些知道的方法是檢測代碼。我會建議你在服務器代碼中添加帶日期時間戳的簡單日誌記錄(注意日誌應該是可配置的,任何日誌框架(包括System.Diagnostic.Trace)都應該支持它)並檢查時間花在哪裏。例如,數據庫行程可能很貴等。如果您沒有發現服務器端代碼的罪魁禍首,即服務器在合理的時間內提供請求,那麼您必須查看網絡上的性能。諸如Fiddler(或Firefox)之類的工具應該可以幫助你 - 有時從瀏覽器發出太多請求也是有問題的,因爲瀏覽器可能只發出n個併發請求,或者甚至服務器可能已經被配置爲僅接受來自特定客戶端的n個請求 - 這可能導致在序列化請求中增加總響應時間。這些場景很難在本地主機上捕獲,因爲網絡延遲幾乎爲零。您也可以使用工具(例如YSlow)來獲得相關的性能改進建議。但請先做好調查,找出瓶頸,然後尋求解決具體問題的方法。

-2

如果MVC使用實體框架(基於LINQ),這將肯定是緩慢的,因爲 LINQ相比老ADO.NET

+3

「*與舊的ADO.NET *相比,LINQ速度較慢」 - 是嗎? – Widor 2012-05-17 14:44:57

+0

kamal101 - 根據你有什麼證據做出這種表述? – NGRhodes 2012-07-05 14:37:46

0

在Chrome運行它是緩慢的。打開開發人員工具。展開控制檯。注意錯誤。從那裏你也可以監視那些網絡呼叫,看看哪些慢。