如何在ASP.NET应用程序中减少页面加载时间?

8

如何减少ASP.NET应用程序的页面加载时间?我们在与数据库交互时需要注意什么预防措施?

例如:

  1. 明智使用视图状态(viewstate)
  2. 在部署应用程序时,在web.config中设置

    等等


可能是构建ASP.NET应用程序的最佳实践的重复问题。 - this. __curious_geek
11个回答

11

以下是TechEd 2010北美大会的一些重要收获:

  • 缓存对于性能至关重要,需要非常谨慎地考虑您的缓存策略。
  • 如果可能,禁用视图状态(viewstate)。
  • 在部署应用程序时,在web.config中设置<compilation debug=”false">
  • 考虑使用CDN或子域名来托管图形和其他静态内容。
  • 将javascript放在页面底部,将CSS放在页面顶部。
  • 对于图标和其他“小”图形,请考虑使用CSS sprites。

您可以在线观看以下两个高度推荐的演讲:


2
链接已失效。请使用以下链接:https://channel9.msdn.com/Events/TechEd/NorthAmerica/2010/WEB308 和 https://channel9.msdn.com/Events/TechEd/NorthAmerica/2010/WEB315。 - chakeda

3
80%的终端用户响应时间用于前端。其中大部分时间用于下载页面中的所有组件:图像、样式表、脚本、Flash等。http://developer.yahoo.com/performance/rules.html 我建议不要忽略已提供答案中的视图状态和数据库缓存建议。我指出,对于我发现更简单的修改,可以打开IIS中的GZip压缩,设置静态元素的到期头以减少服务器请求,使用像smush.it这样的工具优化图像。
使用Zoompf运行您网站的报告,以获取非常详细的报告,估计影响和易于实施的评级。

3
  1. 永远不要在生产环境下使用调试配置部署asp.net应用程序。请查看此处,了解scottgu对此的看法。

  2. 使用无Cookie域来提供静态资源,如图片、脚本和样式表等。每个客户端请求都会随着一堆cookie发送,而在服务图片或脚本时不需要cookie。因此,请将这些资源托管到无Cookie域中。

  3. 从服务器缩小脚本、样式表和HTML响应文件。删除不必要的换行符和空格可以提高加载时间和带宽优化。

您可以在这里找到许多技巧。


2
  • 尽可能减少ViewState的使用,或将其保留在服务器上
  • 通过使用用户控件的输出缓存,对页面上的数据或部分进行缓存
  • 尽可能捆绑脚本和CSS

在重构某些内容后,请始终进行测量以查看是否有所改善。

此外,请查看更多信息

Grz,Kris。


1

您可以始终触发异步数据库操作并在页面更新时进行异步更新,这里可以考虑使用 AJAX 更新面板。

还有页面输出缓存,如果页面基本静态,则非常有用。它也可以基于参数执行,因此您可以潜在地缓存为给定的数据库搜索创建的页面。

您还可以采取过度处理的方法来减少页面的“冗长”性。我曾经在产品页面上为了好玩而这样做,通过缩小元素名称等名称,成功削减了超过50%的页面大小,但是这使得标记完全无法阅读,哈哈。

沿着这条路线,将缩减工具应用于 CSS/JavaScript 文件 - 如果您压缩,还可以将它们合并到更少的较大文件中以获得更高的压缩效率。


1
在进行任何优化工作之前,最重要的是确定需要进行优化的内容。这里可以发布数千个优化提示,因此最好找出您的性能问题,并提出更具体的问题以寻求帮助来优化您需要的内容。您可以优化 Web 应用程序的三个部分:
服务器性能:确定最大的瓶颈(使用分析器是一个简单的选择)。优化瓶颈。当仍然存在大型瓶颈时,优化小问题或在没有测量时间的情况下进行优化可能会浪费时间。
客户端性能:采用诸如 yslow 或 Google 页面速度等工具的建议。
带宽:尽可能少地向用户发送数据,并在尽可能少的请求中完成。

0

在应用程序中始终使用请求来加载概念。尽量避免在页面加载时不必要地访问数据库。如果页面加载时有大量数据,则可以使用Ajax请求调用。


0

0
  • 尽可能缓存数据库读取
  • 减少/禁用视图状态
  • 尽量做得更少(如果可能的话)

0
  • 使用MS Visual Studio 2010来优化你的.NET代码,以获得更好的性能。
  • 当你有很多背景图片时,CSS sprites非常有用。
  • 使用gZip压缩器压缩JavaScript文件的内容,并通过删除空格和注释来压缩CSS文件。
  • 避免使用HTML注释,因为它们可以通过浏览器中的“查看源代码”选项在客户端上可见,这也会减小文件大小。
  • 将大部分不必要的JavaScript放在页面底部。为了获得更好的性能,在加载页面内容后动态加载JavaScript引用

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接