我使用ashx,做了个测试,代码加入 Thread.Sleep(6000); 以测试请求响应6秒时间。
然后前端同时发起10个请求
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
$.get("/api.ashx?method=Test");
正常预期是全部请求都在6秒后结束,而目前结果并发处理只有3个,响应时间分别:
6秒
6秒
6秒
12秒
12秒
12秒
18秒
18秒
18秒
24秒
这是哪里的问题?怎么改进?
是时候 转战 .netcore 了。。。
/api.ashx 的代码都看不到 没人能给你建议
在耗時的地方加線程
Thread t = new Thread(() => {
Thread.Sleep(6000);//耗時的代碼
});
t.Start();
这是电脑本身的限制,不是asp的问题,个人电脑直接被限制了,服务器要手动设置并行数,不然默认就那么几个
.net 2.0?
看下控制台 Network,请求是同时发出去的么?