gbvc 发表于 2015-8-14 14:23:10

[原创] 给IIS站点启用GZIP压缩,效果明显(有详细评测+截图)

  
  今天又是搞优化的一天,在苦闁了一上午之后,终于有了点收获
  
  打开IIS站点的GZIP压缩功能


[*]首先,进入IIS,在“web服务扩展”-> “添加一个新的Web服务扩展”->“要求的文件”输入c:\WINDOWS\system32\inetsrv\gzip.dll;并将“设置扩展状态为允许勾上;
[*]然后,在“网站”上右击“属性”->“服务”->”HTTP压缩“,勾上”压缩应用程序文件“和”压缩静态文件“,注意给留一个放压缩文件的文件夹(默认的是在系统目录下,可能不好;最好改了)
[*]最后,在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到 IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。 HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。还有HcFileExtensions,HcScriptFileExtensions是压缩的文件类型。下面是我改的结果:


代码



      HcDynamicCompressionLevel="9"
      HcFileExtensions="htm
            html
            txt
            js
            css"
      HcScriptFileExtensions="asp
            dll
            exe
            aspx"

  
  
  好了。下面让我来测试一下吧:

  一、 带有压缩的4个访问计时截图:

  
说明:


[*]12.242 - 第一次访问计时;
(这次访问之前,清里的缓冲;回收了进程。运行之后,在”IIS Temporary Compressed Files“目录下多了一个”$^_gzip_D^WEB^SKIN^SKIN1^LOGIN.CSS“的文件,大小为2K(站点中的未压缩的文件是3K);
[*]   0.308 - 在第1步操作上,直接刷新计时结果;(应该直接使用了”IIS Temporary Compressed Files“目录下的压缩文件,效果显现了);
[*]   0.454 - 新打开一个IE窗口,直接访问计时结果;(新开窗口会重新分配缓冲cookie等,所以时间变长了);
[*]   0.268 - 在第3步操作上,直接刷新的计时结果;(刷新后,会更快)
  二、不带压缩的还是这个页面的访问计时截图:

  说明:


[*]8.643 - 第一次访问计时;(这次访问之前,清里的缓冲;回收了进程,看来没有压缩时,会在第一次运行时快一些);
[*]0.403 - 在第1步操作上,直接刷新计时结果;(但是没有压缩的页面,在刷新时,会变慢。原来0.3秒,现在0.4秒);
[*]0.458 - 新打开一个IE窗口,直接访问计时结果;(新开窗口时,变化和压缩没有什么差别);
[*]0.314 - 在第3步操作上,直接刷新的计时结果;(再次刷新,还是比压缩了的站点慢)
  三、上面只是测试了一个登录Login.aspx页面。登录后进入主页,访问了大量的JS/CSS/HTML/ASPX等,压缩后的效果更明显了:
  



  
  OK,今天就到这里了,休息...休息一会儿.....
  
  附:
  部分压缩后的文件大小对比:
  文件            原大小   压缩缓冲后大小
  ^JQUERY.JS        59K     19K
  ^SCRIPT.JS         10K     3K
  ^CALENDARSELECTOR.JS  31K     7K  
  



页: [1]
查看完整版本: [原创] 给IIS站点启用GZIP压缩,效果明显(有详细评测+截图)