我在我的开发人员机器上运行了一个ASP.NET MVC项目,其中包含windows 7 ultimate和iis 7.5.
我做以下事情:
var requests = ["http://myserver.com/news/details/113834",
"http://myserver.com/tag/details?ids=113834&entityType=23",
"http://myserver.com/publish/details?ids=113834&entityType=23",
"http://myserver.com/generalproperty/details?ids=113834&entityType=23",
"http://myserver.com/category/details?ids=113834&entityType=23"];
var f = new Date().getTime();
$.each(requests, function(k,v) {
$.ajax({
url :v,
async : true,
type :'get',
success : function(data) {
console.log(new Date().getTime() -f );
}});
})
Run Code Online (Sandbox Code Playgroud)
然后我得到以下结果(约)12,521,1025,1550,2067 异步结果http://martinhansen.no/hostedimages/async.PNG
如果我将异步切换为假,我得到:14,32,49,58,68 同步结果http://martinhansen.no/hostedimages/sync.PNG
似乎某个地方的请求正在排队,一段时间后它只响应每500秒.我让我的控制器返回空白文本而不是数据库调用,所以不是数据库.
IIS 7.5对Windows 7有限制吗?我可以改变的设置?我怀疑每个用户的最大并发请求或类似的东西.然后它通过每500毫秒响应来"惩罚"你.这样人们就不会将它用作实际的服务器.
可能性有多大?有没有办法避免它?