ASP.NET 的请求结构试图在执行请求的线程数和可用资源之间达到一种平衡。已知一个使用足够 CPU 功率的应用程序,该结构将根据可用于请求的 CPU 功率,来决定允许同时执行的请求数。这项技术称作线程门控。但是在某些条件下,线程门控算法不是很有效。通过使用与 ASP.NET Applications 性能对象关联的 Pipeline Instance Count 性能计数器,可以在 PerfMon 中监视线程门控。
  当页面调用外部资源,如数据库访问或 XML Web services 请求时,页面请求通常停止并释放 CPU。如果某个请求正在等待被处理,并且线程池中有一个线程是自由的,那么这个正在等待的请求将开始被处理。遗憾的是,有时这可能导致 Web 服务器上存在大量同时处理的请求和许多正在等待的线程,而它们对服务器性能有不利影响。通常,如果门控因子是外部资源的响应时间,则让过多请求等待资源,对 Web 服务器的吞吐量并无帮助。

  为缓和这种情况,可以通过更改 Machine.config 配置文件 <processModel> 节点的 maxWorkerThreads 和 maxIOThreads 属性,手动设置进程中的线程数限制。

  注意 辅助线程是用来处理 ASP.NET 请求的,而 IO 线程则是用于为来自文件、数据库或 XML Web services 的数据提供服务的。
  分配给这些属性的值是进程中每个 CPU 每类线程的最大数目。对于双处理器计算机,最大数是设置值的两倍。对于四处理器计算机,最大值是设置值的四倍。无论如何,对于有四个或八个 CPU 的计算机,最好更改默认值。对于有一个或两个处理器的计算机,默认值就可以,但对于有更多处理器的计算机的性能,进程中有一百或两百个线程则弊大于利。

  注意 进程中有太多线程往往会降低服务器的速度,因为额外的上下文交换导致操作系统将 CPU 周期花在维护线程而不是处理请求上。

必要时调整应用程序每个辅助进程的线程数相关推荐

  1. linux下查看进程的线程数,linux查看进程的线程数

    top -H -p $PID  #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...

  2. Linux 中统计一个进程的线程数

    如果你想看到 Linux 中每个进程的线程数,有以下几种方法可以做到这一点. 方法一: /proc proc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数. /p ...

  3. mfc怎么获取进程的线程数_2020年大厂喜欢这样问线程安全,这些知识点我整理好了

    2020年,截止目前,我收到了阿里巴巴.腾讯.美团.京东.快手等互联网大厂的面试邀请.求职是一场流程很长的拉锯战,涉及岗位选择.简历投递.简历评估.技术面试.HR面试等环节. 我发现在技术面试中多线程 ...

  4. CentOS查看进程的线程数方法

    CentOS 查看某个进程的线程 方法一 ps -T -p <pid> 1 方法二 top -H -p <pid> 方式一: cat /proc/[pid]/status 展示 ...

  5. 极端情况下收缩 Go 进程的线程数

    在 Go 的 runtime 里有一些创建了就没法回收的东西. 之前在 这篇 里讲过 allgs 没法回收的问题. 除了 allgs 之外,当前 Go 创建的线程也是没法退出的,比如这个来自 xiao ...

  6. linux命令(一)查看进程的线程数top,ps

    1.ps -T -p <pid> ps -T -p 116115|wc -l 2. top -H -p 116115 查看进程的线程使用率 3.pstree -p 116115|wc -l ...

  7. 查看 java 进程线程数_查看指定进程的线程数

    先查出进程id,然后从下面命令行执行结果查看线程数: cat /proc/{进程id}/status 得出结果: ··· Name: java State: S (sleeping) Tgid: 94 ...

  8. mfc怎么获取进程的线程数_Python多线程获取小米应用商店App,看看我是怎么做到的

    一.[项目背景] 小米应用商店给用户发现最好的安卓应用和游戏,安全可靠,可是要下载东西要一个一个的搜索太麻烦了.而且速度并不是很快. 今天小编就教大家利用多线程爬取小米应用商店的游戏模块,快速获取我们 ...

  9. NIO和BIO如何影响应用程序的设计-设置处理线程数

    NIO 可让您只使用一个(或几个)单线程管理多个通道(网络连接或文件),但付出的代价是解析数据可能会比从一个阻塞流中读取数据更复杂. 如果需要管理同时打开的成千上万个连接,这些连接每次只是发送少量的数 ...

最新文章

  1. 架构师必看 京东咚咚架构演进
  2. IBM Rational AppScan使用详细说明
  3. mysql截取栏目字符_substring从指定字符串开始截取(图)
  4. PyCharm-professional-2018.2.2 - 破解
  5. 多边形对角线条数(C语言)
  6. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式...
  7. docker-compose命令介绍和使用【官方英文文档翻译】【附加案例】
  8. 《scikit-learn》SVM(三)ROC曲线
  9. java如何恢复视图_Java - 如何用reformation+Moshi创建回收站视图_java_酷徒编程知识库...
  10. `ifdef、`else、`endif 用法
  11. 《数学之美》—信息的度量和作用
  12. modscan36--my milestone
  13. logit回归模型假设_LOGISTIC回归分析
  14. 舍不得花钱买1stOpt,不妨试试这款免费的拟合优化神器【openLU】
  15. 解锁Insyde的BIOS隐藏设置
  16. 华为路由三层交互:单臂路由实验
  17. 自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测
  18. 查看连接MYSQL数据库的IP信息
  19. 同一局域网内的其他电脑访问我的电脑本地的网站
  20. HTML DOM 事件 —— 键盘事件 JS键盘事件

热门文章

  1. 笔记本蓝牙显示输入码无效_如何凭借一把键盘游走桌面?米物蓝牙双模键盘
  2. 记录Mask RCNN调整预测网格 font大小
  3. 球面贴图,立方体贴图的比较
  4. 新建eclipse的java项目报错处理
  5. printf格式化输出几点注记
  6. extern数组与extern指针
  7. 火焰图(Flame Graphs)的安装和基本用法
  8. Excel导入异常Cannot get a text value from a numeric cell解决
  9. P2261 [CQOI2007]余数求和
  10. 367. Valid Perfect Square