2011-10-29 79 views
0

我們已部署到正在執行一個嚴重新建的Windows 2008 R2網絡版服務器中的MVC 3應用程序。ASP.Net MVC可憐的生產性能

此應用程序已經通過開發,質量保證和用戶驗收測試周期在相同的操作系統(不同的盒子)上,沒有性能問題。

我們可以看到服務器的唯一區別在於它位於DMZ中,因此配置了兩個網絡適配器,一個用於Internet,一個用於穿透防火牆。

我們已將各種日誌記錄放入應用程序,並確認直到'返回ActionResult'一切正常工作(即〜500毫秒)。然後需要15秒來渲染頁面。

我們已經嘗試在配置文件中打開debug = false,我不確定在這裏尋找什麼,看起來像是一個環境問題。

任何建議嗎?我正在調查線程池大小是否會導致問題。

此外,如果它有助於頁面使用多個部分視圖,我已閱讀其他有問題的人。

謝謝, 馬特

+1

你推遲執行查詢或者是你要確保你的行動返回前查詢是否完成?即使您的操作正在返回,如果您的查詢執行泄漏到您的視圖中,您仍然可能會由於數據庫而遇到延遲。 – tvanfosson

+0

您是否對數據庫運行了一個分析器來查看生成的查詢以及它如何管理? – Oded

回答

1

由於應用程序在其他環境中執行好,我建議你調查以下:

  1. 數據庫 - 你對不同的數據庫上運行?查詢執行多長時間?如果您擁有非優化的數據庫,其中有數百條記錄用於生產,只有少數記錄在測試中,您可以儘快找到性能問題。

  2. 網絡 - 網絡盒和數據庫之間的延遲是多少?如果您僅因網絡而導致每次數據庫查詢的時間超過100毫秒,而您的網頁觸發50次查詢則會丟失5秒。我見過配置不佳的路由器/負載均衡器。

嘗試,以找出你在浪費那麼多時間剖析系統(數據庫,網絡,網箱)的每個組件。嘗試http://code.google.com/p/mvc-mini-profiler/

PS。你的產品必須有debug=false

+0

謝謝Jakub,我們排除了網絡或數據庫的任何問題,這是發生在個人服務器本身上的事情。目前我們正在將Kerberos身份驗證超時視爲一個可能的問題。 –