2017-03-01 98 views
0

我正在使用ninject與asp.net MVC5應用程序,我只用疊加ajax請求實驗奇怪的性能行爲。Webapp越來越慢,多個ajax請求

希望優化特定頁面的表現不佳,我把Application_BeginRequestApplication_EndRequest(姑且稱之爲A),一個在控制器中調用的方法內(我們稱之爲B)之間的秒錶。

結果是一致的,如果我使std http請求(頁面調用)AB所做的測量完全相同。

問題:我顯示一個包含10個表的頁面,通過Ajax請求提供。 4個第一請求顯示正常行爲(AB時間分別爲100ms和80ms),而另外6個顯示災難性表現:B停留大約80ms,而A佔用10秒

有沒有什麼我可以做,以避免這種干擾,最好是在應用程序的服務器端?

不要猶豫,詢問有關設置的任何信息,我會很高興完成問題

+0

您是否獨立測試過您的每張表格?我很好奇,如果5號表的響應規模巨大,並且在嘗試返回響應時佔用了所有的網絡帶寬。 –

+0

@ Keith.Abramo我觀察到幾乎空的結果(一行或兩行)和100行的加載時間相同 –

+0

性能難以從遠方排除故障。對於組織外部的人來說,只有很多變量可以給你任何合理的答案。這可能與您正在使用的數據庫類型,版本,實例上的資源,它駐留的網絡,防火牆,代理服務器,VLAN等等有關。或者,它可能與您的網絡有關服務器,同樣具有資源利用率,工作人員,應用程序池配置等。 –

回答

0

看來,SessionState是罪魁禍首這裏,使用[SessionState(SessionStateBehavior.ReadOnly)]將其設置爲ReadOnly大幅提高性能的Ajax請求。