1

我在特定页面上的按钮单击事件上偶尔会出现性能缓慢的问题。有时它在正常参数下表现良好,但似乎只要服务器处于中等负载下(这意味着我可以在我们的生产环境中而不是在我们的开发或测试环境中产生这个问题)它似乎只是挂起。启用跟踪后,我看到它似乎只是挂在 Begin PreRenderComplete 和 End PreRenderComplete 之间。它只是在那里停留了近 30 秒。我没有在该事件空间中执行的任何特定代码。我的理解是,这个事件应该是生命周期中的一个非事件,因为它只是为了确保 PreRender 阶段完成。这个页面有大量的控件,因此有一个相当大的视图状态,

我已经对服务器运行了 perfmon,有时当我能够产生这种行为时,系统资源是正常的,没有请求排队。我试图了解导致这种缓慢的幕后可能发生的动作。

4

2 回答 2

0

我想我找到了问题所在。通过更深入的分析,似乎我的 ScriptManager 控件导致尝试组合脚本时出现延迟。显然这只会在负载下出现问题,并且大多数发生在 prerendercomplete 事件中。通过设置 CombineScripts="false" 属性,它似乎已经解决了这个问题。

于 2013-03-01T16:22:14.490 回答
0

页面上是否有任何异步操作?我认为异步调用将在该事件之前完成,因此如果其中一些需要一段时间,例如慢速数据库或慢速网络调用,这可能会导致您看到的延迟。

于 2013-02-26T17:23:24.280 回答