我对运行IIS 7.5的服务器的web.config做了一些改变,提高了性能(主要是前端)。
一个第三方testing工具说,该网站正在运行“PHP / 5.3.10,ASP.NET”,如果内存服务,它是ASP.NET 4.5
我认为这是由于奇怪的技术组合(例如在IIS上运行PHP),但触摸任何东西都会让我感到紧张。
我添加了(仅)从H5BP IIS服务器configuration中过期头文件和gzip的指令
我想我在2013年1月15日下午添加了这些指令。从Pingdom性能testing工具的网站testing历史可以在这里find 。
您可以看到传输大小急剧下降的位置(单击历史logging选项卡)。
从那时起,似乎每次我testing它时,不同的文件(通常是像CSS和JS这样的资源)都不用gzip提供,没有任何押韵或原因。 有时候一切似乎都是用gzip来完成的,有时几乎没有任何东西可以压缩,但通常在中间的某处(正如你在历史中所看到的)。
到底是怎么回事?
我该如何解决?
这个网站没有得到积极的发展,而一些额外的数据已经在15日之后添加到页面(我添加了Google Analytics插件脚本以改进跟踪),没有什么可以解释这么大的变化和不一致。
我最好的猜测是它与压缩的CPU资源有关,这个问题似乎很接近: 为什么gzip压缩在IIS中的效率会有所不同?
我在这个网页的评论中发现了一个可能的罪魁祸首。 weblog.west-wind.com
从本质上讲,如果在10秒内至less两次请求文件,OOTB,IIS将只会gzip。
这是通过在web.config中调整 – 不幸的是,这是默认locking,所以你必须编辑applicationhost.config更改overrideModeDefault =“DENY”为ALLOW。
参考这里是: forums.iis.net
相关的configuration片段如下。 你会看到我也搞乱SVG字体的内容types,默认情况下IIS不会gzip它们,所以通过强制它们到文本/ xml它们也被压缩。 ( Google PageSpeed抱怨这个)
web.config中
<system.webServer> <serverRuntime frequentHitThreshold="1" enabled="true" /> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" /> <remove fileExtension=".svg" /> <mimeMap fileExtension=".svg" mimeType="text/xml" /> </staticContent> <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <add mimeType="*/*" enabled="true" /> </dynamicTypes> <staticTypes> <add mimeType="image/svg+xml" enabled="true" /> <add mimeType="text/xml" enabled="true" /> <add mimeType="*/*" enabled="true" /> </staticTypes> </httpCompression> <urlCompression doStaticCompression="true" doDynamicCompression="true"/> </system.webServer>
的applicationHost.config
<section name="serverRuntime" overrideModeDefault="Allow" />