gpt4 book ai didi

c# - IIS - 线程池设置 machine.config 与 web.config

转载 作者:行者123 更新时间:2023-11-30 16:37:31 33 4
gpt4 key购买 nike

我正在 IIS 8.5 上运行 ASP.NET 4.5 Web API 应用程序。在工作进程下,我看到某些请求被 IIS 排队并且从未得到服务。这可能是内存泄漏问题。我还在调查。在调查期间,我读到关于 thread pool settings 的信息.

文章讨论了减少争用的推荐线程设置。文章说在 machine.config 中进行这些更改。我的问题是我可以在 web.config 中进行这些更改吗?

对于解决排队问题,我们还有其他建议吗?

最佳答案

Machine.config 指定此 windows 实例中所有 .Net 应用程序的配置。 Web.config 特定于特定应用程序的配置。

如果此问题仅发生在单个 IIS Web 应用程序中,您可以在 Web.config 中指定配置。否则,建议在 Machine.config 中设置它们。

根据我的经验,如果请求卡在队列中,您的问题应该是应用程序池挂起或性能低下。首先,请检查 IIS 应用程序或系统事件日志中是否记录了任何错误消息。

要解决性能问题,请尝试使用Procdump调试诊断工具 捕获转储文件。

我们需要通过这些转储文件检查这些托管堆栈跟踪。这样我们就知道哪个方法或请求变慢或挂起。

有了WINDBG mex扩展,我们就会知道:

  1. 正在处理多少个请求
  2. 各线程状态如何
  3. 是否有任何线程被卡住或死锁
  4. 如果出现死锁,哪个线程被锁定,死锁的地址是什么。

如果我们需要知道您的服务器应该应用哪种配置或解决方案,找到根本原因或特征也是必要的。

如果您不知道如何分析转储文件,调试诊断分析工具 或 WINDBG analyze -v 命令会有所帮助。

关于c# - IIS - 线程池设置 machine.config 与 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57911069/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com