2017-03-01 104 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请求。