我有一个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" />
在这种情况下有多少?