博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IIS与ASP.NET中的队列
阅读量:5909 次
发布时间:2019-06-19

本文共 731 字,大约阅读时间需要 2 分钟。

一、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 Queues\ArriveRate。

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。

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

【参考资料】

转载地址:http://yjvpx.baihongyu.com/

你可能感兴趣的文章
SQL基础内容
查看>>
教务系统--程序员如何对待资料与需求
查看>>
Linux内核访问外设I/O资源的方式-静态映射(map_desc)方式
查看>>
Beyond Compare怎样修改差异文件夹
查看>>
个人代码库の自动粘合桌面边缘
查看>>
七、MyBatis教程之四多表关系的实现
查看>>
完全参照系统自带的DatePickerDialog、TimePickerDialog的源代码仿写的DateTimePickerDialog...
查看>>
C# Winform DataGrid 绑定List<> Or ObservableCollection<> 类型无法自动刷新问题
查看>>
Git笔记整理
查看>>
laravel/lumen 单元测试
查看>>
软件如何控制硬件
查看>>
AWK 快速入门
查看>>
Javascript自定义事件
查看>>
10-13C#语句(1)
查看>>
11-02SQLserver基础--字符串函数
查看>>
jQuery Wookmark
查看>>
Java学习笔记二:数据类型II
查看>>
Tracking your habits in Org-mode
查看>>
jquery图片轮播插件
查看>>
为elasticSearch开发c++接口
查看>>