【问题标题】:long delays in AcquireRequestStateAcquireRequestState 中的长时间延迟
【发布时间】:2015-07-16 00:15:25
【问题描述】:

使用性能监控工具“New Relic”我发现“AcquireRequestState”中偶尔出现(但太多)长时间延迟。我说的是 10、20 秒的延迟,有时是几分钟。

我知道我们还没有为此事件编写自己的事件处理程序。

我什至从哪里开始寻找这些延误的原因?到目前为止,我在 msdn 上找到的少量信息并没有帮助。

【问题讨论】:

  • 嗨,你在这方面有什么进展吗?正如 New Relic 所报告的,我们遇到了同样的问题。
  • 我们也是。 @TomHall 您找到任何解决方案了吗?我们只看到 AJAX 调用的“AcquireRequestState”延迟,你呢?
  • 我们不仅在 Ajax 请求中看到它,而且在某种程度上是随机的。如果基本 URL 相同,New Relic 似乎会将 GET 和 POST 请求组合在一起。目前,我们使用了我们自己的更精细的内部日志记录来进行调查。
  • 假设这是 asp.net,这可能是使用 Session 和用户使用多个选项卡或同时多个 AJAX 调用的症状。例如,如果用户在一个选项卡中运行长时间运行的报告,则用户尝试发出的任何其他请求将被锁定在“AcquireRequestState”,直到第一个选项卡完成。这里有一篇更好的文章link

标签: asp.net webforms newrelic


【解决方案1】:

尝试在服务器上申请Hotfix Rollup 2828841。

问题 6

症状

当您发送许多具有相同的并发请求时 ASP.NET 4.5 Web 应用程序的 SessionId,某些请求可能会冻结 意外地处于 RequestAcquireState 阶段。

分辨率

应用此修补程序后,此修补程序可确保 EndRequest 事件将始终触发。

此修补程序适用于 Windows 7 服务包 1 (SP1), 视窗服务器 2008 R2 SP1, Windows Server 2008 Service Pack 2 (SP2),以及 Windows Vista SP2。

【讨论】:

  • 我假设较新的操作系统版本不需要此修补程序?
【解决方案2】:

今天早些时候,当我们的一个 ASP.NET 应用程序在特定页面上出现性能问题时,我的团队看到了 NewRelic 报告的“AcquireRequestState”延迟。

事实证明,根本原因是我们最近部署到 SQL Server 数据库的存储过程发生了更改,这无意中导致该存储过程需要很长时间才能执行。存储过程被调用作为显示存在性能问题的页面的一部分。

我们能够通过识别和修复存储过程的性能问题来解决问题。 NewRelic 的“AcquireRequestState”问题被证明是无关紧要的;这是问题的症状,而不是原因。

这是在 Windows Server 2008 上运行的 ASP.NET 4.5 应用程序上。

tl;dr: NewRelic 报告的“AcquireRequestState”延迟可能是导致 ASP.NET 应用程序中的一个或多个页面和/或 AJAX 请求的其他问题的副作用需要很长时间才能加载。

【讨论】:

  • 在 AcquireRequestState @JonSchneider 期间是否调用了 proc?
  • 我认为答案是“不”,但不幸的是这是几年前的事了,我不记得 100%!
【解决方案3】:

我怀疑您的存储过程更改可能突出了会话锁定方面略有不同的问题,我们在不同的情况下报告了大致相同的问题,我非常希望鼓励您测试异步会话提供程序此处提到并确保您使用每个会话应用程序设置的并发请求:

https://stackoverflow.com/a/55331786/7581050

最终,任何长时间运行的进程(在您的情况下是存储过程更改)都会阻止对该会话的任何进一步请求。由于这个“阻塞”发生在 IIS 管道的不同部分,NewRelic 简单地将其记录为“AcquireRequestState”

PS:我知道这个答案来得太晚了,但我终于找到了可以为我们解决类似问题的东西,我怀疑将来会帮助很多人。

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多