gpt4 book ai didi

c# - IIS 上的大量请求超时

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

我有一个相当繁忙的网站,每个月的浏览量约为 1000 万。

我的一个应用程序池似乎堵塞了几个小时,我正在寻找一些关于如何解决它的想法......?我怀疑它以某种方式用完了线程,但我不确定如何追溯确定它..?这是我所知道的:

  • 该网站从未“宕机”,但大约 90% 的请求开始超时。
  • 我可以看到大量“HttpException - 请求超时”。在中断期间的日志中
  • 我找不到任何会导致超时的 SQL 错误或代码错误。
  • 超时似乎在所有页面上都是站点范围的。
  • 有一个页面存在错误,会导致该特定页面出现错误。
  • 网站必须重新启动。

网站是 ASP.NET C# 3.5 WebForms..

可能性:

  1. 线程耗尽:我的想法是导致错误的页面可能以某种方式开始阻塞可用线程?
  2. 全局代码错误: 另一种可能性是我的某个静态类在某处存在未发现的错误。这不太可能,因为以前从未发生过,而且我找不到这些类的任何日志错误,但这是有可能的。

更新

我现在已经设法在问题发生时对其进行追踪。页面正在正常加载,但由于某种原因 WebResource.axdScriptResource.axd加载需要一分钟。在性能计数器中,此时我可以看到 ASP.NET Requests Queued 峰值。

最佳答案

我首先要尝试的是 Sam Saffron 的 CPU analyzer tool ,如果有一些常见的事情发生的时间太多/时间太长,它应该会给出指示。部分原因是它不涉及任何更改;只需在服务器上运行即可。

之后,还有其他各种调试工具可用;我们发现 some very ghetto approaches可以非常有效地查看时间花在了哪里(当然,它只会对 10% 的成功结果起作用)。

您当然可以只打开服务器分析工具并拖入各种 .NET/IIS 计数器,这可能会帮助您发现一些东西。

在这三个选项之间,您应该承保:

  • 代码掉入黑洞,永远不会出来(通常与线程相关)
  • 代码正在运行,但速度太慢(通常与数据访问相关)

关于c# - IIS 上的大量请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788276/

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