IIS compression is not a new technology, but for websites, IIS compression can play a major role. After the IIS compression function is enabled on the IIS server, before the IIS server sends the page content to the browser, It compresses the content on the server and then sends the compressed data, after the browser receives the data, it automatically decompress it and then displays it. Because the data transmitted over the network is compressed, the page content can be transmitted to the browser faster to improve the page browsing speed.
Although it takes some CPU time to compress the page content on the IIS server, this does not cause any problems for the CPU of mainstream servers. In addition, the CPU time is too low compared with the data transmission time saved. After a static content page is compressed each time, IIS will cache the compressed files to the disk, which can avoid repeated compression next time, so it will not put too much burden on the CPU. If you find that it does not improve the server performance, it is very easy to disable it. It has not changed the content of your site, but only the data transmission method.
Enabling IIS compression on the IIS server can be done through the IIS manager on the GUI, but some configurations cannot be done only through the IIS manager, we use a script tool of IIS for all management and configuration.
Open the IIS management interface and right-click the "website" tab-> properties.
"HTTP compression" under the "service" label ":
Select "compressing Application Files" or "compressing static files" as needed ".
The folder corresponding to the Temporary directory, usually "C: \ WINDOWS \ IIS Temporary Compressed Files". You must grant the IUSR _ machine name write permission.
The following commands must be executed at the command prompt on the server.
Enable static file (.js).css).html and so on) compression on iisserver:
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true
Enable dynamic file (. asp) compression on the IIS server:
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
To add the ". js" and ". css" file types to static File compression, run the following two commands:
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "js" css"
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "js" "css"
Add the ". aspx" file type to dynamic File compression (all pages of The SharePoint site are. aspx). Run the following two commands:
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
Increase the default compression ratio by using two commands:
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3Svc/Filters/Compression/GZIP/HcDynamicCompressionLevel "9"
Cscript C: \ Inetpub \ adminscripts \ adsutil. vbs SET W3Svc/Filters/Compression/DEFLATE/HcDynamicCompressionLevel "9"
Finally, Run "iisreset" to restart IIS
In addition, you can modify the iis configuration database for the following purposes:
On the IIS Management page, right-click the computer name tab and choose Properties.
Select "allow direct configuration database editing"
Open "C: \ WINDOWS \ system32 \ inetsrv \ MetaBase. xml ",
In the <IIsCompressionScheme Location = "/LM/W3SVC/Filters/Compression/deflate"> section and <IIsCompressionScheme Location = "/LM/W3SVC/Filters/Compression/gzip"> section,
Modify HcDynamicCompressionLevel to 9. (Best performance/compression ratio)
Modify HcFileExtensions to "htm html txt js css" (extensible, with quotation marks)
Modify HcScriptFileExtensions to "asp exe dll aspx" (extensible, with quotation marks)
Save the file.
Disable the "allow directly edit configuration database" option.
How much data transmission can be saved after IIS compression is enabled? We can perform a simple test. We use Microsoft Fiddle, a useful and powerful tool. In principle, it is a proxy that allows the browser to obtain HTTP content. It automatically records the historical access data of the browser. You can download Fiddle at http://www.fiddlertool.com/fiddler/version.asp.
First, disable IIS compression, clear the browser cache, and then access the default site homepage in IE. The access history data recorded in Fiddle is as follows:
Request Count: 29
Bytes Sent: 11,089
Bytes encoded ed: 676,934
This information indicates that the browser requests a total of 29 Resources, and the server sends a total of K data to the browser. 676 K! This is only the default site homepage!
Enable the IIS compression function, clear the browser cache, and visit the home page again. The information recorded in Fiddle is as follows:
Request Count: 29
Bytes Sent: 11,089
Bytes encoded ed: 230,276
We can see that by simply enabling the IIS compression function, the data size requested by the default homepage is reduced from 676K to 230 K.
Ps: This article is reproduced and sorted online, and the following problems are found:
If it is ineffective to re-access the client after clearing the IE cache, you can use the application pool to reclaim resources.
Setting the HcScriptFileExtensions parameter to a null string will reduce server performance. (All dynamic responses are compressed)
Related HTTP compression Software: Port80 Software ZipEnable
ZipEnable is one of the few products recommended by Microsoft and is compatible with IIS 6. By configuring IIS 6 settings, it can further control IIS6's HTTP compression function at the directory level.
Test whether gzip is Enabled: www.port80software.com/tools/compresscheck