网站性能优化的几方面(二)
Written By 欧阳振华 on 2008-10-24 15:57:41| 分类:网站的优化及推广 | 查看次数:154

二、页面级别性能优化

  1. 页面缓存
  2. 视图状态:服务器使用视图状态来保存控件的状态,但是某些大数据量的服务控件(比如GridView) 会产生大量的ViewState代码,使得页面加载时间增加,网络负载增加.如果我们确信不需要和某个服务器进行交互(比如仅仅使用GridView呈现数据而没有删除和修改操作),就可以通过设置控件的EnableViewState属性为False来关闭控件的视图状态.甚至你可以关闭整个页面的视图状态.
    1. <%@page EnableViewState="false"%> 
    除此之外,不推荐在ViewState中保存大量数据.可能初学者一时不知道 ViewState是什么东西,那么我就以我的博客为例,先打开首页的ViewState,(因我的首页没有用到交互,所以ViewState是关闭的).打开ViewState后,我们用IE浏览器来看看网页的源代码:

    这就是滥用ViewState的结果,这些没有用的数据在浏览器之间往返,占用了大量的网络流量.而关闭页的的ViewState后,再来看页面的源代码:

    我们看到,页面就"干净"了很多. 只有一些必要的HTML代码. 
  3. 页面加整
    • 尽可能把几个图片合成一个图片来减少向服务器请求的次数.(以前我一直以为要把大图切成小块加载速度才会快,事实刚好相反,实验证明加载一张大图要比加载这张大图切成的小块的时间要快得多.)
    • 尽量不要使用表格进行布局,特别是不要把整个页面放在一个大表格里,使用这个表格来定义整个页面(比如居中).因为浏览器只有读到了一个标记的结束后才会呈现(比如读到表格的</table>),如果把整个页面放在一个大表格中的话,那么只有等整个页面加载完毕了才会呈现在观众面前,用css布局的话,就算是网速慢,也会加载一点内容就呈现一点内容.不会出现速个屏幕为白色.
    • 分离CSS,尽量把CSS分离到单个文件中去,而不要在每个页面的顶部都生成一段CSS代码.css文件能被客户端缓存,使用独立的CSS文件能减少页面的数据量.
    • 最后,千万不要用WORD生成HTML文件,那是外行做!
  4. 其化优化
    • 减少不必要的服务端事件.比如清空TextBox的操作,可以直接用一个不回发的客户端按钮来实现.
      1. <input type="reset" valie="重置"
      而不必要用 :
      1. <asp:Button ID="..." Runat="server" text="重置" OnClick="..." />  
      2. 在后台写按钮事件:  
      3. textbox1.text="";  
      4. textbox2.text="";  
      5. ......... 
    •   使用Page.IsPostBack来减少不必要的处理.通常我们可能需要在页面首次加载的时候初始化一些数据,而在单击页面上的按钮回发页面后不需要进行这些处理,可以通过Page.IsPostBack判断页面是否是首次加载.来避免重复执行一些不要的代码.

    由于时间关系,今天就写到这里,明天再写关于构架级别的性能优化.

声明:版权所有。转载时必须以链接形式注明作者和原始出处

热点文章:

文章评论:

暂时没有评论^_^

Name / 姓名 (必填)
 

Website / 个人主页
 

Validate / 验证码
验证码 看不清,换张图片?

Your mind / 评论内容 (必填):