我有一个IIS应用程序,其行为如下所示 - IIS进程中的总线程数量很少,流量以低速率开始,如5 rpm,线程数开始增加,即使在加载停止后仍然继续运行,在合理的时间内不会下降,达到30,000多个线程,响应时间可以进行折腾。
机器配置设置为auto_Config。
应用程序中没有明确的线程,尽管有一些 - 非常奇特 - 每个都使用并行。
寻找有关如何诊断此问题的一些提示。减少每个项目的平行似乎有所帮助;我还没有最终证明这一点。限制最大线程数也有助于限制线程数;但我认为应用程序出现问题导致这些线程不断增加。我想解决这个问题。
在下图中,线程计数仅适用于IIS工作进程。 PUT请求是唯一做一些工作的人;获取主要是静态资源请求。
答案 0 :(得分:0)
可以在本地或开发环境中复制吗?如果是这样,现在是连接到流程并使用调试工具查看管理线程以及它们在代码中的位置的好时机。如果没有公布任何内容,那么可能是时候从进程中捕获内存转储并使用windbg挖掘它。