【问题标题】:What perfmon counters are useful for identifying ASP.NET bottlenecks?哪些性能计数器可用于识别 ASP.NET 瓶颈?
【发布时间】:2012-02-21 19:07:12
【问题描述】:

鉴于此处的图表,我应该查看什么来确定瓶颈?如您所见,请求在负载下平均持续近 14 秒,其中大部分时间归因于 New Relic 分析数据中的 CLR。在特定页面的性能细分中,它将大部分时间归因于 WebTransaction/.aspx 页面。

【问题讨论】:

  • 可能是由于页面上的标准会话锁定而从数据库读取的延迟造成了这种延迟。正如我所见,橙子也涨了。
  • @Aristos 您能否详细说明“标准会话锁定”的含义?
  • 我的意思是:stackoverflow.com/questions/8989648/… 当您在页面上使用会话时,由于会话数据,这会锁定所有页面,直到此页面结束处理。
  • 谢谢你,我认为你是对的。会话被配置为在另一台机器上使用状态服务器,它没有退缩,数据库也没有退缩,因此序列化请求是有意义的,因为负载测试使用单个用户/会话。是时候在不同的会话/用户之间分散负载了。

标签: asp.net .net performance profiling newrelic


【解决方案1】:

我看到数据库也被读取(橙色),这是所有页面之一延迟其余页面的接缝,因为会话在页面上进行了锁定。

您还可以阅读: Replacing ASP.Net's session entirely

我的建议是完全删除会话调用,如果不可能,请自行寻找另一种方法将它们保存在数据库中的某个位置。

实际上,在我的页面中,我已经完成了所有三个可能的选项。 1.我在没有会话的情况下调用页面。 2 我已经创建了完全自定义的会话,这些会话是连接到用户 cookie 的值,最后 3。我已经创建了脱离会话的线程,它们在后台进行计算,当它们完成时,我会显示结果。

在某些情况下,计算是在没有会话的情况下调用页面的 iframe 上完成的,稍后我会显示结果。

【讨论】:

    【解决方案2】:

    在专业版中,您可以使用事务跟踪,这有助于准确定位问题发生的位置。

    【讨论】:

      猜你喜欢
      • 2017-02-02
      • 2022-01-06
      • 1970-01-01
      • 2021-05-02
      • 2023-03-22
      • 2019-02-12
      • 2010-11-22
      • 2012-11-15
      • 1970-01-01
      相关资源
      最近更新 更多