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

本文关键字:于如何 NET 应用程序 ASP | 更新日期: 2023-09-27 18:16:28

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

我有ASP。NET项目,我已经维护和添加给你一年了。总共大约有30个页面,每个页面都有几个gridview和SqlDataSource,代码背后通常不超过10-15个方法。还有一个相当大的LINQ-to-SQL dbml文件——大约有40-50个表。

该应用程序大约需要30-40秒来编译,我认为这还不算太糟——但主要问题是,在部署时,与同一服务器和应用程序池上的其他应用程序相比,它加载页面的速度很慢——加载一个简单的页面可能需要大约10秒。我非常有信心这个问题不是孤立于任何特定的页面——它似乎更像是一个全球性的应用程序问题。

我只是想知道是否有任何设置在网上。我可以使用config等来帮助加快速度?或者只是关于开发者遇到的常见"错误"或问题的一般提示。我的应用程序已接近完成,但速度问题确实影响了客户对它的看法。

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

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

应用方面:

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

数据库方面:

使用Sql Profiler查看需要大量时间才能完成的工作

的有用链接:

  • 如何:为ASP启用跟踪网络应用
  • 提高ASP。. NET性能禁用ViewState并将会话设置为只读
  • 如何识别运行缓慢的查询SQL Profiler

最常见的疏忽可能是:不要忘记关闭web中的调试。

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

其他几个:

  • 不启用会话状态或视图状态
  • 尽可能使用输出缓存,一般考虑一个缓存层,例如数据库查询(memcached, redis等)
  • 缩小并合并CSS
  • 贬低javascript

现在做什么:

  1. 查看Firebug或Chrome开发工具中的页面加载情况。检查一下,确保你没有通过网络发送一个巨大的有效载荷。
  2. 打开跟踪输出,查看服务器是如何花费它的时间的。
  3. 检查服务器的网络吞吐量

如何在将来避免这种情况:

记住速度一个特性。如果你的应用像狗一样慢,用户就会认为它很糟糕。这意味着你希望尽快在"生产"硬件上运行应用,并定期部署,以便在出现性能问题时及时发现。一个几乎完成的应用程序需要10秒才能交付一个页面,这一点也不有趣。希望您运气好,可以使用config修复大部分问题。如果你不走运,你可能需要做一些严肃的重构。

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

保持完美的短皮带。你的应用会很时髦,人们也会我觉得你很棒。