zoukankan      html  css  js  c++  java
  • IIS与ASP.NET中的队列

    一、IIS:应用程序池队列(Application pool queue,位于HTTP.SYS)

    应用程序池队列

    这是请求到达IIS后遇到的第一个队列,http.sys收到请求后会将请求放入对应的应用程序池队列,这样可以减少上下文的切换。需要注意的是应用程序池队列虽然是给w3wp进程用的,但它存在于http.sys的内存区(http.sys是一个运行于kernel-mode的设备驱动程序)。如果把http.sys比作一块网卡,那应用程序池队列相当于网卡的缓冲区。

    1)设置方法:在IIS应用程池设置中设置Queue Length的值(缺省值是1000)。

    应用程序池队列长度

    2)监测方法:Windows性能监视器中监测Http Service Request QueuesArriveRate。

    3)出队方法:工作者进程(w3wp,user-mode)通过完成端口(completion port)从应用程序池队列中取出请求进行处理(user-mode与kernel-mode之间的通信),需要注意的是这里进行了IO操作。

    二、ASP.NET:CLR线程池队列(CLR threadpool queue)

    w3wp从应用程序池队列中取出请求后,接下来就是从CLR线程池中捞出一个CLR线程处理请求,如果池中空无一线,就会将请求放在CLR线程池队列中。

    1)设置方法:在machine.config中设置processModel/requestQueueLimit(默认是1000),或者Aspnet.config中设置applicationPool。

    <processModel enable="true"  requestQueueLimit="2000" >

    2)监测方法:Windows性能监视器中监测ASP.NET v4.0.30319Requests Queued。

  • 相关阅读:
    vuerouter-2.路由跳转
    vuerouter-1.路由基础
    vuebase-11._跨域处理
    vuebase-10_Axios配置
    vuebase--9._axios post请求
    vuebase--8._axios
    vuebase-7.过滤器
    vuebase-6.自定义指令
    vuebase-5.过渡和动画
    vuebase---4.实例生命周期
  • 原文地址:https://www.cnblogs.com/mrray/p/4901652.html
Copyright © 2011-2022 走看看