【问题标题】:How to improve the page load time of a asp.net web site? [closed]如何提高asp.net网站的页面加载时间? [关闭]
【发布时间】:2012-04-25 14:09:09
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    ViewState 分块

    作为压缩的替代方法,您可以考虑将 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】:

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

      你需要测量的东西

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

      【讨论】:

        【解决方案4】:
        • ViewState 模式可以设置为 false

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

        ViewStateMode="Disabled"
        

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

        • gzip 压缩

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

        • 监控您的 ViewState 大小

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-08
          相关资源
          最近更新 更多