Pregunta

Puede establecer HcDynamicCompressionLevel en cualquier lugar entre 0-10. Escuché que 10 es malo (alto uso de CPU), pero ¿cuál es el número mágico que funciona mejor?

¿Fue útil?

Solución

He descubierto que establecerlo en 8 proporciona una tasa de compresión bastante buena sin dañar demasiado el servidor. Dependerá de la carga y la especificación de su servidor.

Otros consejos

Configuraciones de 5 a 9 para la compresión dinámica DO de hecho martilla la carga de la CPU. La compresión estática se produce solo una vez (hasta que un archivo se vuelve a almacenar en caché) y puede establecer una compresión estática alta.

Este artículo en profundidad recomienda 4 para compresión dinámica y 7 a 9 para compresión estática . El artículo respalda esta recomendación con información que puede leer y decidir por usted mismo.

http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx

Las páginas dinámicas pequeñas pueden beneficiarse de una configuración de compresión dinámica más alta a medida que la carga de la CPU aumenta con archivos más grandes. Con un tamaño aproximado de 200 KB, tendrá que considerar una configuración dinámica más baja para las páginas. Además, tenga en cuenta que la configuración de compresión dinámica alta aumenta el tiempo para obtener los primeros bytes de cada solicitud de página. Estos factores admiten el uso de la configuración más restringida de 4 para la compresión dinámica.

Una vez más, los recursos estáticos pueden usar una configuración alta porque solo la primera solicitud afecta la carga de la CPU y el tiempo de espera del cliente. Sin embargo, si sirve muchos recursos estáticos grandes, la compresión estática no dará sus frutos también porque su caché se llenará y comenzará a eliminar recursos; por lo tanto, los recursos comprimidos no se beneficiarán de ser atendidos repetidamente desde la caché.

NOTA: No hay una configuración de '10'.

Dos cosas más a tener en cuenta:

El elemento httpCompression en sus archivos .config tiene configuraciones que deshabilitan la compresión cuando la carga de la CPU es demasiado alta:

dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"

staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80"

La configuración EnableCpuUsage vuelve a habilitar la compresión cuando la carga de la CPU cae por debajo del valor especificado.

Otra configuración deshabilita la compresión para archivos pequeños:

minFileSizeForComp="2700"

IIS 7.5 aumentó el tamaño mínimo de archivo para la compresión de un valor predeterminado de 256 bytes en IIS 7.0 a un valor predeterminado de 2.700 bytes después de darse cuenta de que algunos archivos comprimidos eran más grandes que el original. No sé si 2.700 bytes es lo mejor, pero dado que un paquete IP puede ser razonablemente de alrededor de 1.400 bytes, esta configuración evitaría comprimir archivos de menos de dos paquetes. Me gustaría hacer pruebas reales o leer el consejo de un experto antes de cuestionar arbitrariamente la decisión de Microsoft de aumentar esta configuración.

10 era malo cuando las CPU eran dos órdenes de magnitud más lentas de lo que son ahora. El algoritmo gzip es bastante rápido en lo que respecta a los algoritmos de compresión en estos días, por lo que lo estableceré en 10 y veré qué sucede.

Me parece que esto realmente dependería de su situación. Si está sirviendo muchos archivos grandes y tiene algo de potencia de CPU de sobra, entonces un número mayor sería mejor. Sin embargo, como tiene más conexiones concurrentes, archivos más pequeños y una CPU menos potente, un número más pequeño es mejor.

En la empresa para la que estoy trabajando, la compresión dinámica habilitada para ASPX y javascript / css generados dinámicamente y las páginas tardan más en descargarse. Intentamos establecer el nivel de compresión en 1 y máx. CPU 90% pero aún peor que sin compresión. Es mi

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top