IIS默认相同session id引起的客户端阻塞问题

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:2

IIS默认相同session id引起的客户端阻塞问题

问题描述:

    使用星空产品时,断断续续出现卡顿的情况,引起无法正常进行日常的业务,但CPU资源并不高。

问题分析:

        在卡顿的时候,抓取内存镜像文件,进行分析

一:CPU使用率,只有5% ,同时运行中的线程136个,只有一个是空闲的(这里有些可疑)      

2:检查阻塞情况 

    发现被阻塞的线程数达到了47个

   查看106线程的堆栈   

  查看175线程的堆栈

  可以看到基于System.Threading.TimerQueue类型对象出现了阻塞。说明导致问题的原因在于系统线程相关对象的阻塞。

   有48个线程正在创建http请求

     同时23个请求,等待会话状态时,正在等待锁资源

    检查阻塞会话的上下文发现

    继续分析,可以看这些线程有相同的ID

    也就是这些阻塞的请求,在cookie中都有相同的ID值。查询微软相关的文档,发现下面的描述,即对于相同的 session id的时候超过一定数量的时候会出现排队现象。

解决方法: 

   在web.config中的appSettings节点,增加下面的key来解决。

    <add key="aspnet:RequestQueueLimitPerSession" value="100"/>


附:

另外同时建议,修改每个处理器的线程数限制。对于高配机器,调整为100(但不要超过100)。

IIS默认相同session id引起的客户端阻塞问题

问题描述: 使用星空产品时,断断续续出现卡顿的情况,引起无法正常进行日常的业务,但CPU资源并不高。问题分析: 在卡顿的时候...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息