.NET性能与生成静态页面性能比较

时间:2006/1/26 9:36:19      阅读:1421          

      刚刚做完一个网站的改版的实期工作,终于要过年了...

      最近做的东西考虑的最多的就是性能的问题,也看了不少资料,越来越觉得.NET是个好东西,呵呵。

      很多站点都慢慢的从动态页面转变成静页面(生成静态页面),使用静态的页面使得网站的速度提高了不少,心里一直郁闷着,在技术的飞快发展的今天,难道网站的编写技术非得回到以前古老的技术上?

      我们先来看一下.NET的运行机制,ASP.NET的引擎从原理上保证高性能,一次编译多次使用,如图:

这是第一次运行,速度一般会比较慢,要经过几道程序

这是第二次运行省了编译一道程序,速度快了很多,起码会比以前asp的速度快上不少,在asp中每次运行都会运行像.net中的第一次的过程,但是这个过程序比起静态的HTML速度可能还要慢一点,原因在于HTML每次只从硬盘上直接发送HTML代码给用户,而.NET多了一个过程,有没有更好的办法解决这个问题呢?答案当然是肯定的。

      仔细看一下上面的图可以看到有Output Cache(Output Cache是保存在内存中的缓存),如果使用了Output Cache后,在用户浏览网页的时候服务器直接从内存中送出缓存好的HTML代码,其缺点是送出的也是静态代码,在用户有查询的相关操作是送出的页面是一样的,呵呵,不过MS也不会这么笨的呵,解决办法就是在页面使用Output Cache的一些参数如VaryByParam,可以在用户输入不同的参数后输出不同的缓存,这个我也不多说了,有时间找一下MS中的ASP.NET系列讲座: 性能与缓存看一下吧。最近也看了在ASP.NET2.0中的缓存技术,比起1.1的多了不少的东西,值得研究。

      好了,知道的.NET的运行模式再来看一下与HTML的比较中到底那个更有优势吧,从以上可知道ASP.NET在使用了Output Cache以后,页面是直接从内存传送给用户的,而HTML是从硬盘提取的,从速度上来说硬盘的速度当然比不上内存了,所以在我看来,起码硬盘是纯HTML代码的一个瓶颈,速度绝对比不上.NET,好咯,最后提醒一下,在使用Output Cache时要正确的使用呵,否则会适得其反,Output Cache会比较占用内存的呵,好处就是服务器要更新配置时只增加内存就可以了,比起更换CPU或整机更换划算多了。

      今年就这样默默无闻的过了,哎,有点......,明年......

评论
  • Re:.NET性能与生成静态页面性能比较  (2006/8/10 8:35:55) by 飘萍 
    正在学.net,它有很多优点。
标 题:
 
姓 名:
 
主 页:

验证码:

评论:
 

Because of the cache,you may see your comments several minutes later.