iis - 当 .Net 中有许多长时间运行的请求时,IIS 会减慢速度
问题描述
我有一个 API 服务,有时需要一段时间才能说出答案,比如 120 到 200 秒。大多数情况下,答案将在 1 到 5 秒内产生。
假设有 20 个对 IIS 的请求在 120 到 200 秒之间有长时间运行的答案。所有其他传入的请求似乎需要更长的时间来处理,并且在这 20 个请求产生结果之前,一切都变得非常缓慢。
我让应用程序池设置了 50,000 个并发请求,但我看到这种行为只有 100 x 200 个请求,然后请求继续增长,直到长时间运行的请求完成。
我的印象是所有请求都将正常运行并且彼此独立。一些不应该放慢其余的。机器上的 CPU 从不超过 1%。
有什么我可能会忽略的吗?配置明智?
在阅读了 lex li 的答案后,设置最大工作线程数可能会有所帮助,这考虑了多少 CPU?
这将启用多少个工作线程?
<processModel autoConfig="false" requestQueueLimit="100000" maxWorkerThreads="200" maxIoThreads="200" minWorkerThreads="50" minIoThreads="50" />
在这种情况下有多少?
解决方案
推荐阅读
- php - 如果按下另一个按钮而不加载整个页面,我如何更改按钮的颜色并加载问题?
- excel - ListBox 上的选择以填充活动单元格
- sql-server - SQL Server 代理作业生成文件名中包含日期的文本文件导致错误
- node.js - 如何模拟 Chrome devtools 调试目标
- haskell - 了解 Monad Transformer 类型签名
- html - 如何让 div 自动调整为图像大小?
- pandas - 传递给 Series 的转换函数的是什么?
- python - python中使用grpc在两台主机之间进行通信
- sql-server-2012 - SQL 重复日期列表,包含开始日期、结束日期关闭天数和关闭间隔
- javascript - Javascript:打开窗口而不加载图像