2016-08-18 46 views
0

我有一个IIS应用程序的行为是这样的 - IIS进程中的线程总数很低,流量从5 rpm等低速率开始,线程数量开始增加,令人震惊,持续不断加载停止后,在合理的时间内不会下降,达到30,000多个线程,响应时间可以折腾。IIS高线程数

机器配置设置为auto_Config。

在应用程序中没有明确的线程,虽然有一些 - 非常奇怪 - 为每个应用并行。

寻找一些关于如何去诊断这个问题的提示。减少平行每个似乎有帮助;我还没有完全证明这一点。限制最大线程数也有助于限制线程数量;但我认为应用程序出现问题会导致这些线程不断增加。我想解决这个问题。

在下图中,线程数只针对IIS工作进程。 PUT请求是唯一做一些工作的请求;获取大多是静态资源请求。

enter image description here

+0

你的屏幕截图上的哪个监视工具? – serhiyb

+0

DataDog监测工具。我也在TaskManager/Resource Monitor中交叉检查了高线程数。 – Amit

+0

这样的数据对于确定原因无用,但有助于显示确切的症状。如果您可以运行性能分析器,则可以跟踪每个线程的工作情况,然后查找原因。如果没有,挂起转储分析可以提供帮助。对这些问题没有简单的答案。 –

回答

0

这可以在本地或开发环境可以重现?如果是这样的话,现在是时候关注进程并使用调试工具来查看哪些线程被管理以及它们在代码中的位置。如果不能揭示任何东西,那么它可能是从该进程捕获内存转储并用windbg挖掘它的时候。