如何改善asp.net网站的页面加载时间?

时间:2012-04-25 14:09:09

标签: asp.net visual-studio-2008 c#-3.0 performance-testing

大家好我正在使用vs2008 c#asp.net。我的项目中有页面,其中包含许多网格视图列表视图和文本框,图像上传控件。所有控件都来自vs2008的标准工具包。我想知道改善项目页面加载时间的可能方法。我听说过viewstate压缩。还有其他建议吗?请帮忙。感谢

4 个答案:

答案 0 :(得分:1)

您应该做的第一件事是测量当前状态,有很多工具可以帮助您完成此任务:

您需要衡量的事项

  • 第一个字节的时间是什么,或者服务器生成页面所需的时间,应该低于0.5秒。如果此时间更长,则使用Visual Studio分析器来定位瓶颈并优化关键部件
  • 测量视图状态大小并分析内容,因为您使用了大量的网格视图,这可能是问题所在,因此有几十个posts与该问题相关
  • 了解 ViewState及其工作原理,优秀帖子here
  • 你应该减少请求数量,将css和JavaScript结合在一个文件中,有很多free tools to do that
  • 启用IIS gzip压缩
  • 使用fiddler查看您的请求如何在本地缓存
  • 使用Css Image Sprites表示小图片
  • 使用asp.net缓存,它非常好,它为许多使用场景提供解决方案,尤其适用于流量增加的问题

答案 1 :(得分:1)

首先关注优化服务器端。如果您有“许多网格视图”,具体取决于它们的来源(例如数据库),您可以尝试改进数据访问的处理。搜索适合您的应用程序的适当优化技术。

您还可以尝试减少网格数量。由于要求,这可能不是一个可能的选择。

您还可以查看moving your ViewState from the top of the page to the bottom以及其他标准客户端优化(减少资源调用次数,将css放在文档头,文档末端的脚本,启用客户端缓存,等...)。

答案 2 :(得分:1)

ViewState Chunking

作为压缩的替代方法,您可以查看分块ViewState,它基本上将ViewState划分为几个隐藏字段而不是一个。这可以使整体页面性能得到适度改善。

查看此文章:Large ViewState & ViewState Chunking

替代存储空间

除了页面上的隐藏字段外,还有其他几种方法可以存储ViewState信息。

查看此文章:Manage ViewState Using ASP.NET 2.0 Provider Architecture

ViewState压缩

就我个人而言,我发现压缩ViewState会在性能方面获得最大的收益,所以如果有可能我肯定会探索它。 Telerik的RadCompression模块很好,但它不是免费的。你也可以自己实现它。

查看ViewState压缩文章:

最后,只要您不需要跟踪ViewState,请将EnableViewState设置为false。

答案 3 :(得分:-1)

  • ViewState Mode可以设置为false

即使您使用的是重量级控制,他们也可能不需要“启用”ViewState。因此,尝试确定何时不需要它们并在每个属性中将ViewStateMode属性设置为false:

ViewStateMode="Disabled"

这会减小ViewState的大小,从而提高性能

  • gzip Compression

通过遵循此tutorial,您可以设置ViewState压缩以减小其大小并提高网站性能

  • 监控您的ViewState大小

通过使用此Mozilla add-on,您可以监视ViewState的大小,看看这是否是网站缓慢的实际原因,因为这也可能与sql查询或与ViewState不同的其他原因有关< / p>