asp.net - AcquireRequestState 中的长时间延迟

标签 asp.net webforms newrelic

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

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

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

最佳答案

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

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

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

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

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

关于asp.net - AcquireRequestState 中的长时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066925/

相关文章:

c# - 如何在不断检查进度的同时在 ASP.NET 4 中异步加载页面?

ASP.Net - 多个动态图像。由于 Http 请求过多导致的性能问题

c# - 如何在 iframe 中显示本地文件夹中的 html 文件?

c# - ASP.NET 身份发送电子邮件 : TaskCanceledException

c# - 设置 <form action> 属性时 LinkBut​​ton 事件不会触发

amazon-web-services - 监控 lambda 在 NewRelic 中执行

python - newrelic 和 zope 出错

javascript - 禁用 ASP.NET LinkBut​​ton 后重新启用它的正确方法是什么?

asp.net - 如何整齐地布局 HTML

ruby - Sidekiq 正在提升我在 New Relic 中的性能监控