IIS6以及IIS7对静态文件gzip压缩方式的区别
发布时间:2011-09-13 18:48:09
先说明下为什么要写这篇文章,以及纠结于这个“小问题”。首先开启静态文件的gzip压缩非常有利用提高网站的访问速度,并且有效减少蜘蛛爬行静态页面的time-taken,同时也不会像开启动态文件压缩一样可能会对百度蜘蛛造成200 0 64的抓取问题,所以一方面,网站速度快有利于提高用户体验,另一方面,google管理员博客在今年已经明确表示网站速度是排名的因素之一,而对于拿国外主机做百度中文站优化,time-taken不理想会导致百度蜘蛛内页抓的少,国平之前在自己博客文章网页加载速度是如何影响SEO效果的中也提到过,在固定的一段时间内蜘蛛抓取网站的总时间是固定的,那么抓取速度上去了,抓取页面数就会更多,反之则少。
好吧,开始正文,在上篇文章《蜘蛛抓取静态页面与触发gzip压缩的实验结果》中的问题二,我提出了gzip静态页面的压缩版本在服务器上保存方式的猜测,在困惑了许久之后,发现导致两个主机返回gzip结果不同的最终原因是iis版本而不是我猜测的缓存文件夹设置过小
事实上,iis7比iis6在静态压缩上有了较大的更新,在IIS6中,静态压缩是在一个不同的线程上进行的,所以在收到一个HTTP请求后,第一个发送给浏览器的HTML版本是没有压缩过的,而同时IIS6会开始使用一个不同的线程对这个文件进行压缩并且将这个压缩后的版本长期保存在压缩文件的缓存文件夹内。而在以前,也就是IIS6服务器上,在压缩完成之后凡是对该被压缩版本的静态文件的HTTP请求,IIS6都会直接从缓存文件夹中直接调用压缩后的版本并返回给浏览器。
但是在IIS7中,压缩是在主线程上进行的,而且为了节省压缩的成本,IIS7不对所有的HTTP请求而只对哪些经常会被用户访问的静态文件进行压缩版本的长期保存,这也就是为什么我在之前第一次访问没有压缩,短期内再次访问返回的是压缩版本,但是再过几分钟访问返回的又是未压缩版本的原因。这里我们可以理解为IIS7并没有将压缩版本实际保存到缓存文件夹中,而是只在服务器内存中做了保存,或者是临时将压缩版本保存到缓存文件夹中,一会之后进行删除。
而IIS7定义什么文件是经常访问的符合压缩标准的方法是system.webServer/serverRuntime中的以下两个属性,frequentHitThreshold和frequentHitTimePeriod 。如果IIS在frequentHitTimePeriod时间段内接收到了对某个静态文件的超过frequentHitThreshold闸值次数的访问,那么IIS7就会像IIS6一样压缩该静态文件并且将这个压缩后的版本长期保存在压缩文件的缓存文件夹内。如果用户访问网站某文件时,已经在缓存文件夹中存在该文件的缓存版本,那么IIS7是不会再判断frequentHitThreshhold这个逻辑而是直接返回压缩版本给浏览器。
这种设置的确很蛋疼,但是微软官方给出的答复是这样有利用提高服务器性能。。。那么如果想要让IIS7能够向IIS6一样做压缩的话,有两种解决方法,当然都是修改frequentHitThreshold和frequentHitTimePeriod这两个值:
第一种是在web.config中添加以下内容,将frequentHitThreshold调至1,将frequentHitTimePeriod调制10分钟
<system.webServer>
<serverRuntime enabled="true"
frequentHitThreshold="1"
frequentHitTimePeriod="00:10:00"/>
</system.webServer>
第二种方法是打开%windir%\system32\inetsrv\appcmd.exe,然后再命令行界面中输入以下命令字符串,然后回车
set config -section:system.webServer/serverRuntime -frequentHitThreshold:1
微软官方建议比较不激进的办法是不要调低frequentHitThreshold而是提高frequentHitTimePeriod,这样对服务器性能更适中。这里要提到的是,对于拥有VPS的朋友们,建议可以手动设置,而虚拟主机用户能不能设置就得看服务商了,我就很悲剧的改不了。大家试试看吧
原创文章,转载请注明出处:光年论坛


猜你喜欢
- 5月19日消息,UC优视科技今日正式发布UC浏览器7.2正式版,全面支持Flash10技术。UC优视科技CEO俞永福表示,UC选择以攻克手机
- 邮件主机常见问题解答 1、问:我安装IMail时全选的是它的默认设置,结果本机的FQDN(完全合格域名)成了默认的邮件主机名,我该如何修改它
- 一.Logrotate工具介绍Logrotate是一个日志文件管理工具,它是Linux默认自带的一个日志切割工具。用来把旧文件轮转、压缩、删
- 一、Linux .NET Core简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Li
- 今天谈的百度搜索引擎优化,并非传统的百度搜索引擎优化,而是针对百度搜索引擎算法最近调整,侯庆龙分析百度搜索引擎优化总体的分析。百度搜索引擎竞
- 虚拟服务器是有很多好处,但它的安全问题完全暴露了吗?如何确保安全性?可以采用下面十个积极步骤。去年,数据中心虚拟化方面的重大问题还是“该技术
- 包括韩国政府部门网站在内的许多韩国网站9日傍晚再次遭到黑客攻击,已有多个网站瘫痪。韩国方面认为,这是自7日晚开始的分布式拒绝服务(DDoS)
- 10月10日,巨人网络《万王之王3》团队今日宣布,该公司自主研发的魔幻题材3D MMORPG《万王之王3》将于本月15日启动不删档封测。这意
- VM Ware 虚拟机centos 时间与本地时间不一致,如下图。大致是时区设置的问题,设置为中国标准时区即可,CST。解决办法1.安装时间
- 一、目的本地写好一个Flask应用,用Docker封装,上传至自己的服务器,完成部署。流程图:二、实验环境本地:Windows10 1909
- 鉴于一些众所周知的原因,最近国内的环境越来越不适合独立博客。将独立博客转移到国内主机空间,尽管不是最好的选择,却也是非常时期不得已的一个选项
- 在论坛更换域名后,由于地址发生了变化,导致一些还是保留原地址的链接发生错误,表现为图片不显示,附件不能下载等一些问题。解决这些问题的根本办法
- 目录Tomcat介绍tomcat部署创建web项目配置tomcat配置工程架构配置servletTomcat介绍Tomcat是Apache
- 发布商都很关注收入的波动问题,今天我们就帮大家深入分析一下如何知道收入波动的背后原因,并采取相应的措施。首先,大家都知道,AdSense 收
- 据报道,谷歌近日被巴西法院罚款5000雷亚尔,折合2847美元,原因是一名女性用户在谷歌的Orkut社交网络上遭到了其他用户攻击性评论,该用
- 10月9日消息,网络时代人们最信任哪种广告?口碑才是最有力销售工具!尼尔森调查公司最近进行的一项在全球47个国家展开的调查显示:尽管广告平台
- 据国家教育部统计,截至2009年7月1日,我国普通高校毕业生就业率为68%,约有200万毕业生未实现顺利就业。“我们作为
- 随着公司规模的扩大,虚拟主机或者在自己的公司架设的服务器在带宽和稳定性上都将再难以满足需要,主机托管便会被提上议事日程,本文介绍了服务器托管
- 最近流量飙升,而且半夜的时候服务器居然居然报错连接太多,查了下日志发现有道蜘蛛也在爬,当然Sosospider也是比较臭名昭著的,因为这些搜
- 每当我提到我的博客的时候,人们总是抬一下眼皮,或者微笑一下,表示“我不太了解,不过还不错”。但是当我提到我从博客中赚到钱时,我突然发现,他们