I manage an IIS7 server and I'm trying to determine what the dynamicCompressionDisableCpuUsage and dynamicCompressionEnableCpuUsage settings on this IIS7 are set to? I have not been able to find anyway to ascertain this information through the IIS7 Manager.
3 Answers
You can get this information from IIS_schema.xml
located in C:\Windows\System32\inetsrv\config\schema
folder.
As per your question, the default value seen is
dynamicCompressionDisableCpuUsage -> defaultValue="90"
dynamicCompressionEnableCpuUsage -> defaultValue="50"
section from IIS_schema.xml
<sectionSchema name="system.webServer/httpCompression">
<attribute name="staticCompressionDisableCpuUsage" type="uint" defaultValue="100" validationType="integerRange" validationParameter="0,100" />
<attribute name="staticCompressionEnableCpuUsage" type="uint" defaultValue="50" validationType="integerRange" validationParameter="0,100" />
<attribute name="dynamicCompressionDisableCpuUsage" type="uint" defaultValue="90" validationType="integerRange" validationParameter="0,100" />
<attribute name="dynamicCompressionEnableCpuUsage" type="uint" defaultValue="50" validationType="integerRange" validationParameter="0,100" />
If you have a Web Site and want to know the httpCompression setting of that Web Site, you need to look into the web.config file of that Web Site root folder.
According to MSDN:
DynamicCompressionDisableCpuUsage specifies the percentage of CPU utilization at which dynamic compression will be disabled. The default is 90. The value must be between 0 and 100. Average CPU utilization is calculated every 30 seconds.
DynamicCompressionEnableCpuUsage percentage of CPU utilization below which dynamic compression will be enabled. The default is 50. The value must be between 0 and 100. Average CPU utilization is calculated every 30 seconds.
The following VBScript code should get the values:
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject( _
"winmgmts:root\WebAdministration")
' Get the HTTP compression section.
Set oSection = oWebAdmin.Get( _
"HttpCompressionSection.Path=" & _
"'MACHINE/WEBROOT/APPHOST',Location=''")
' Display properties
WScript.Echo "DynamicCompressionDisableCpuUsage: " & _
oSection.DynamicCompressionDisableCpuUsage
WScript.Echo "DynamicCompressionEnableCpuUsage: " & _
oSection.DynamicCompressionEnableCpuUsage
By default system.webServer/httpCompression is locked for overriding in the Web.Config, to see these settings you will need to look at these settings in the ApplicationHost.config level.
I think the easiest was is to open IIS manager select the server in the left column and go to the Configuration Editor in the Management section.
Here you can navigate to the system.webServer/httpCompression section and see these values.