标签:
使用log记录应用处理的响应时间(11表示handler方法开始,22表示handler结束),结果发现:两个http请求,从服务器端处理的时间上来看是很短的;
通过redgate抓取服务器端的处理堆栈,发现两个http请的处理方式不一样。
第一个请求的处理堆栈如下(这是一个普通的、正常的堆栈):
第二个请求额处理堆栈如下(可以看到time队列及sessionState关键字):
查阅资料显示,如果HttpHandler实现了IRequiresSessionState接口,会导致同一个客户端的并发请求被串行化。解决办法:去掉该接口或改为IReadOnlySessionState
根据堆栈提出找到对应的handler代码,果然实现了该接口,至此问题解决。
【性能诊断】四、单功能场景的性能分析(RedGate,找到同一个客户端的并发请求被串行化问题)
标签:
原文地址:http://www.cnblogs.com/zhaoguan_wang/p/4569820.html