首页 > 解决方案 > 当 .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" />

这是多少个CPU?

在这种情况下有多少?

在此处输入图像描述

标签: iisiis-10

解决方案


推荐阅读