【问题标题】:Application performance problem Asp.net应用性能问题 Asp.net
【发布时间】:2011-04-27 23:48:16
【问题描述】:

我的应用程序面临一个很大的速度问题..我们必须进行生产,但由于这个速度问题,它得到了支持..

在我的应用程序中..我有一个页面,它是整个应用程序的主要和重要页面.. 在此页面上,用户大部分时间都在... 在这个页面中,我使用了 6 到 7 个 javascript 文件和 jquery 插件。 整个页面是基于 ajax 的,并且会做 jquery 验证...... 在此页面中,我有 3 个更新面板(嵌套)..一个更新面板包含一个 formview 和 其他将包含一个网格和一个 4 个表单视图(将使用户选择可见..4 个不会在时间出现..取决于网格视图项目我将变得可见..像网格视图记录是类型一然后类型一formview 将在页面上可见)..一个更新面板是父更新面板.. 每个 formview 包含超过 10 个控件。下拉菜单将在 formview onload 事件从数据库循环表中加载。 此页面根本不会刷新..因为任何东西都在更新面板中.. 由于更新面板,我无法将视图状态设置为 false .. 我每次都必须进行 5 次以上的数据库调用..

此页面在应用程序开始时运行良好..一段时间后它变得越来越慢..数据库调用在开始时非常快,一段时间后变得非常慢...... 我不知道如何调试这个东西以及如何找到导致这个问题的原因....请帮助我...

更新: 我的视图状态从 35 kb 增长到 160 kb .. 我尝试了更新面板中某些控件的完整后退触发器..但视图状态没有下降..它保持这样..在两次或三次浏览器刷新时它恢复到 35 kb..这是问题吗??感谢您的回复和建议...

【问题讨论】:

  • 如果我们没有看到任何代码,我们真的无法提供更正的建议。请发布您的一些代码或更具体的问题,我们可以为您提供帮助。

标签: asp.net


【解决方案1】:

如果您不显示您的代码(特别是运行开始变慢的数据库查询的代码),我真的无法帮助您,但我可以做出一个(希望是好的)猜测:

听起来您可能没有正确处理数据库连接。每次打开与数据库的连接时,请确保将其包装在 try/finally 块中(在 finally 块中调用 .Close())或使用 using 块创建它。

【讨论】:

  • 我在做同样的事情..你认为这是因为视图状态吗?现在我的视图状态大小在开始时是 35 kb,一段时间后它会增长到 160kb..
【解决方案2】:

您应该研究像 JetBrains dotTrace 这样的工具,它可以让您的监视器性能在粒度级别上。然后您将能够看到您表现不佳的实际原因是什么。您可以在我链接到的网站上获得 10 天的试用期。

【讨论】:

    【解决方案3】:

    经过很长时间的测试,我发现了问题...它是因为更新面板...我们不应该将更新面板用于太多控件..我不知道这是我们在 asp 中拥有的唯一控件。 net 是 ajax 的更新面板..这就是我使用 updatepanels 的原因...请停止使用 updatepanels 并尝试使用 jquery..我在这个问题上遭受了很多痛苦...感谢您的支持...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 2022-01-04
      • 2013-03-02
      • 2011-06-12
      • 1970-01-01
      相关资源
      最近更新 更多