ASP.NET应用程序 - 关于如何加速它的想法

时间:2011-12-01 18:47:14

标签: c# asp.net performance

这是一个非常普遍的问题,所以我不会提供任何代码,因为我的项目相当大。

我有一个ASP.NET项目,我一直在维护和添加你一年。总共有大约30页,每个页面主要有几个gridview和SqlDataSource,并且在代码隐藏中通常不超过10-15个方法。还有一个相当庞大的LINQ-to-SQL dbml文件 - 大约有40-50个表。

应用程序大约需要30-40秒进行编译,我认为这并不算太糟糕 - 但主要问题是部署时,与同一服务器和应用程序池上的其他应用程序相比,加载页面的速度很慢 - 它加载一个简单的页面大约需要10秒钟。我非常有信心这个问题不会被隔离到任何特定页面 - 它似乎更像是一个全球性的应用程序问题。

我只是想知道web.config等中是否有任何设置我可以帮助加快速度?或者只是关于常见“错误”或开发人员遇到的问题的一般提示,而不是导致此问题。我的申请即将完成,速度问题确实污染了客户对它的看法。

3 个答案:

答案 0 :(得分:3)

第一步是找出问题的根源,无论是应用程序还是数据库端。

申请方:

首先启用慢速页面的跟踪并查看ViewState的大小,有时大型ViewState会导致页面加载速度慢。

数据库方:

使用Sql Profiler查看确切需要大量时间完成的内容

有用的链接:

答案 1 :(得分:2)

最常见的疏忽可能是:在部署之前不要忘记关闭web.config中的调试。

<compilation debug="false" targetFramework="4.0">

其他一些人:

  • 不要在不使用会话状态或视图状态的情况下启用
  • 尽可能使用输出缓存,一般考虑缓存层,即数据库查询(memcached,redis等)
  • 缩小并组合CSS
  • 缩小javascript

答案 2 :(得分:0)

现在该怎么做:

  1. 查看Firebug或Chrome开发人员工具中的页面加载情况。检查以确保您没有通过电线发送大量有效负载。
  2. 启用跟踪输出以查看服务器如何花费时间。
  3. 检查服务器的网络吞吐量。
  4. 以后如何避免这种情况:

    请记住,速度的一项功能。如果您的应用程序像狗一样慢,客户不禁会认为它很糟糕。这意味着您希望尽快在“生产”硬件上运行应用程序并定期部署,以便在引入时捕获性能问题。拥有一个几乎完成的应用程序,需要10秒钟来传递页面,这没什么好玩的。希望你很幸运,可以通过配置解决大部分问题。如果你运气不好,你可能需要进行一些严肃的重构。

    例如,如果你使用ViewState假装它是神奇的和免费的,你可能不得不重做一些依赖。

      

    保持穿短皮带。你的应用程序将是活泼的,人们会   认为你很棒。