【问题标题】:ASP.NET "End Render" slow under load even for empty page即使对于空页面,ASP.NET“结束渲染”在负载下也很慢
【发布时间】:2013-03-13 07:13:34
【问题描述】:

我一直遇到无法解决的性能问题。下面是我的页面跟踪信息,它显示“开始渲染”和“结束渲染”之间的所有时间。疯狂的是这是一个空白的 aspx 页面!它似乎也只在服务器负载异常高时才会发生。

有什么想法吗?

aspx.page 开始预初始化

aspx.page End PreInit 0.000023 0.000023

aspx.page 开始初始化 0.000037 0.000014

aspx.page 结束初始化 0.000052 0.000015

aspx.page Begin InitComplete 0.000065 0.000012

aspx.page End InitComplete 0.000078 0.000013

aspx.page 开始预加载 0.000090 0.000013

aspx.page End PreLoad 0.000103 0.000012

aspx.page 开始加载 0.000119 0.000017

aspx.page 结束加载 0.000133 0.000014

aspx.page 开始加载完成 0.000145 0.000013

aspx.page End LoadComplete 0.000158 0.000013

aspx.page 开始预渲染 0.000171 0.000013

aspx.page End PreRender 0.000184 0.000013

aspx.page Begin PreRenderComplete 0.000199 0.000015

aspx.page End PreRenderComplete 0.000212 0.000013

aspx.page 开始 SaveState 0.000290 0.000078

aspx.page End SaveState 0.000314 0.000024

aspx.page Begin SaveStateComplete 0.000328 0.000014

aspx.page End SaveStateComplete 0.000340 0.000013

aspx.page 开始渲染 0.000352 0.000012

aspx.page 结束渲染 5.987700 5.987347

【问题讨论】:

    标签: asp.net iis-7.5


    【解决方案1】:

    安装一个性能分析器(我尝试许多工具的建议是DotTrace(他们有一个功能齐全的免费试用版))并分析您的 IIS 应用程序。在那里,您将确切地看到哪些方法调用构成了这 5 秒。

    【讨论】:

    • 由于它只是一个HelloWorld.aspx,我没有任何代码可追踪。
    • 它还将跟踪 .NET 内部代码并自动显示反映的源代码,以便您了解导致速度变慢的原因。
    • 我试了一下 DotTrace,不幸的是,它只显示了该线程的“[本机或优化代码]”。
    • 也许您可以从 DotTrace 上传跟踪文件或从中发布屏幕截图。即使等待是在本机代码中 - 调用堆栈中的最后一个 .NET 方法是什么?
    猜你喜欢
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 2015-02-09
    • 2014-07-25
    • 2022-10-15
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多