none
IIS 6.0能提高ASP.NET的性能吗? RRS feed

  • 问题

  • http://www.pconline.com.cn/pcedu/empolder/net/asp/0502/551245.html

     

     

    八、 用IIS6.0的Kernel Caching

      如果你的应用程序没用运行在IIS6.0(windows server 2003)中,那么你就失去了一些很好的提高应用程序性能的方法。在第七个方法中,我讲了用页面输出缓存提高应用程序的性能的方法。在IIS5.0中,当一个请求到来到IIS后,IIS会把它转给asp.net,当应用了页面输出缓存时,ASP.NET中的HttpHandler会接到该请求,HttpHandler从缓存中把内容取出来并返回。

      如果你用的是IIS6.0,它有一个非常好的功能就是Kernel Caching,而且你不必修改asp.net程序中任何代码。当asp.net接到一个已缓存的请求,IIS的Kernel Cache会从缓存中得到它的一份拷贝。当从网络中传来一个请求的时,Kernel层会得到该请求,如果该请求被缓存起来了,就直接把缓存的数据返回,这样就完工了。这就意味着当你用IIS的Kernel Caching来缓存页面输出时,你将获得不可置信的性能提升。在开发VS.NET 2005的 asp.net时有一点,我是专门负asp.net性能的程序经理,我的程序员用了这个方法,我看了所有日报表数据,发现用kernel model caching的结果总是最快的。它们的一个共同的特征就是网络的请求和响应量很大,但IIS只占用了5%的CPU资源。这是令人惊奇的。有许多让你使用用IIS6.0的理由,但kernel cashing是最好的一个。

      九、 用Gzip压缩数据

      除非你的CPU占用率太高了,才有必要用提升服务器性能的技巧。用gzip压缩数据的方法可以减少你发送到服务端的数据量,也可以提高页面的运行速度,同时也减少了网络的流量。怎么样更好的压缩数据取决于你要发送的数据,还有就是客户端的浏览器支不支持(IIS把用gzip压缩后的数据发送到客户端,客户端要支持gzip才能解析,IE6.0和Firefox都支持)。这样你的服务器每秒能多响应一些请求,同样,你也减少了发送响应的数据量,也就能多发送一些请求了。

      好消息,gzip压缩已经被集成在IIS6.0中了,它比IIS5.0中gzip更好。不幸的是,在IIS6.0中启用gzip压缩,你不能在IIS6.0的属性对话中设置。IIS开发团队把gzip压缩功能开发出来了,但他们却忘了在管理员窗口中让管理员能很方便的启用它。要启用gzip压缩,你只能深入IIS6.0的xml配置文件中修改它的配置。

      除了阅读本文以外,只好再看看Brad Wilson写的《IIS6 压缩》一文(http://www.dotnetdevs.com/articles/IIS6compression.aspx);另外还有一篇介绍aspx压缩基础知识的文章,Enable ASPX Compression in IIS。但是要注意,在IIS6中动态压缩和kernel cashing是互斥的。

     

     

     

    我不知道上面是文章是不是正确。反正我一直不知道如何设置。

     

    谢谢了。

    2008年5月29日 2:57

答案

  •  

     

    压缩设置:

     

     

    使用脚本启用HTTP压缩
    (1)打开命令行程序;

    (2)要启用动态文件压缩,输入以下命令并按下回车键:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true

    (3)要启用静态文件压缩,输入以下命令并按下回车键:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

    注意:cscript.exe文件在%windir%\system32\文件夹下,adsutil.vbs文件在系统所在的磁盘\Inetpub\AdminScripts文件夹下,如果在执行时提示命令不正确,请输入路径。

    ¡  使用脚本启用单个文件夹静态压缩
    (1)在命令行输入以下命令,禁用整个服务器的静态文件压缩:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression false

    (2)在命令行输入以下命令,启用某文件夹的HTTP静态压缩:

    cscript adsutil.vbs set w3svc/1/root/government/Resources/DoStaticCompression true

    上面代码中government/Resources是两个目录。

    ¡  使用脚本禁用单个文件夹静态压缩
    (1)在命令行输入以下命令,启用整个服务器的静态文件压缩:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

    (2)在命令行输入以下命令,禁用某文件夹的HTTP静态压缩:

    cscript adsutil.vbs set w3svc/1/root/government/Resources/DoStaticCompression false

     

    http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO_Use_Kernel_Response_Cache_with_IIS_6.aspx

    2008年6月3日 12:43
    版主

全部回复

  •  

     

    压缩设置:

     

     

    使用脚本启用HTTP压缩
    (1)打开命令行程序;

    (2)要启用动态文件压缩,输入以下命令并按下回车键:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true

    (3)要启用静态文件压缩,输入以下命令并按下回车键:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

    注意:cscript.exe文件在%windir%\system32\文件夹下,adsutil.vbs文件在系统所在的磁盘\Inetpub\AdminScripts文件夹下,如果在执行时提示命令不正确,请输入路径。

    ¡  使用脚本启用单个文件夹静态压缩
    (1)在命令行输入以下命令,禁用整个服务器的静态文件压缩:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression false

    (2)在命令行输入以下命令,启用某文件夹的HTTP静态压缩:

    cscript adsutil.vbs set w3svc/1/root/government/Resources/DoStaticCompression true

    上面代码中government/Resources是两个目录。

    ¡  使用脚本禁用单个文件夹静态压缩
    (1)在命令行输入以下命令,启用整个服务器的静态文件压缩:

    cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

    (2)在命令行输入以下命令,禁用某文件夹的HTTP静态压缩:

    cscript adsutil.vbs set w3svc/1/root/government/Resources/DoStaticCompression false

     

    http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO_Use_Kernel_Response_Cache_with_IIS_6.aspx

    2008年6月3日 12:43
    版主
  •  

    谢谢 孟宪会了。

     

    没想到还有图片

    2008年6月4日 0:29