【发布时间】:2015-05-20 13:50:35
【问题描述】:
我有一个加载小部件仪表板的 ASP MVC4 应用程序。每个小部件都会执行一个异步 ajax 回调到服务器并返回一个部分。
出于某种原因,这些小部件需要大约 50 秒才能将内容替换为部分内容。 ajax 请求是即时的,并且在数据库端执行数据库查询也是即时的。大多数情况下这工作正常,但我认为这可能与网站的高使用率有关。
谁能推荐我可以做的任何事情来调试这个问题或确定瓶颈可能是什么?
$.ajax({
cache: true,
type: 'post',
async: true,
url: '/Overview/GetBillingWidget/',
success: function (result3) {
if (result3 == '') {
$('.widget-billing-container').replaceWith('');
} else {
$('.widget-billing').html(result3);
}
},
error: function () {
}
});
$.ajax({
cache: true,
type: 'post',
async: true,
url: '/Overview/GetQueryWidget/',
success: function (result3) {
if (result3 == '') {
$('.widget-myquery-container').replaceWith('');
} else {
$('.widget-myquery').html(result3);
}
},
error: function () {
}
});
【问题讨论】:
-
如果您使用会话,请调查阻止。会话访问是序列化的,当多个请求大致同时访问时,阻塞会导致性能不佳。
-
是的,我们为此广泛使用会话。屏蔽是什么意思?
-
ASP.Net 在请求开始时锁定会话。如果另一个请求在释放锁之前开始,它必须等待另一个完成,我相信增加了 500ms 的延迟。 (见stackoverflow.com/questions/3629709/…)
标签: jquery sql-server asp.net-mvc asp.net-mvc-4 iis