2012-08-06 26 views
0

我有一個MVC3 C#.Net網絡應用程序。它在Windows Server 2008 R2上的IIS 7上運行。最初加載頁面時,我們注意到重大的性能問題。我們正在使用nHibernate,並發現在某些情況下性能會變慢。但是所有的頁面,即使是簡單的頁面,其行爲也相似。我不是一個真正的IIS螺柱所以.....IIS Web App性能問題.... MVC3

我在IIS中缺少一些東西....我可以調整以提高性能的設置或操作?

+0

這可能是一個愚蠢的問題,但是你是否爲每個請求創建一個SessionFactory? – 2012-08-06 22:23:55

+0

@SimonWhitehead .... no。在Global.asax.cs中的Application_Sart上只有一個。 – MikeTWebb 2012-08-06 22:59:20

+0

這不是一個IIS的東西。我在共享和專用主機中都有很多NHibernate實例,我從來沒有看到性能問題。 – 2012-08-06 23:19:22

回答

0

我在共享主機上運行一個網站時遇到類似問題,該共享主機只將100MB RAM分配給應用程序池。當你超過了IIS設置爲回收它。該應用程序通常運行約120MB,因此不斷回收。整個事情再次啓動時,每個頁面的加載速度都非常緩慢。增加可用於應用程序池的RAM可以修復它。

我想嘗試的另一件事是設置SQL分析器並觀察發送到數據庫的查詢。您可以將其配置爲以小於默認值的增量(微秒或許?)報告持續時間列,這使得痛苦的突出顯示出來。然後,您可以選擇可疑的,通過查詢分析器運行它們,並打開「顯示執行計劃」並檢查子樹成本。也許NHibernate產生討厭的查詢或者too many