Domanda

È possibile impostare HcDynamicCompressionLevel ovunque da 0 a 10. Ho sentito che 10 è male (elevato utilizzo della CPU), ma qual è il numero magico che funziona meglio?

È stato utile?

Soluzione

Ho scoperto che impostandolo su 8 si ottiene un buon tasso di compressione senza martellare troppo il server. Dipenderà dal carico e dalle specifiche del tuo server.

Altri suggerimenti

Impostazioni da 5 a 9 per la compressione dinamica DO martellano infatti il ??carico della CPU. La compressione statica si verifica una sola volta (fino a quando un file non viene nuovamente memorizzato nella cache) e puoi impostare una compressione statica alta.

Questo articolo approfondito raccomanda 4 per la compressione dinamica e da 7 a 9 per la compressione statica . L'articolo supporta questa raccomandazione con informazioni che puoi leggere e decidere da solo.

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

Le piccole pagine dinamiche possono beneficiare di impostazioni di compressione dinamica più elevate poiché il carico della CPU aumenta con file più grandi. Con una dimensione di circa 200 KB, dovrai prendere in considerazione un'impostazione dinamica inferiore per le pagine. Inoltre, si noti che le impostazioni di compressione dinamica elevata aumentano il tempo necessario per ottenere i primi byte da ogni richiesta di pagina. Questi fattori supportano l'utilizzo dell'impostazione più contenuta di 4 per la compressione dinamica.

Ancora una volta, le risorse statiche possono utilizzare un'impostazione elevata poiché solo la prima richiesta influisce sul carico della CPU e sul tempo di attesa del client. Tuttavia, se servi molte grandi risorse statiche, anche la compressione statica non pagherà perché la cache si riempirà e inizierà a dare il via alle risorse; pertanto, le risorse compresse non trarranno vantaggio dall'essere ripetutamente offerte dalla cache.

NOTA: non è presente alcuna impostazione di "10".

Altre due cose da considerare:

L'elemento httpCompression nei tuoi file .config ha impostazioni che disabilitano la compressione quando il carico della CPU è troppo elevato:

dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"

staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80"

L'impostazione EnableCpuUsage riattiva la compressione quando il carico della CPU scende al di sotto del valore specificato.

Un'altra impostazione disabilita la compressione per file di piccole dimensioni:

minFileSizeForComp="2700"

IIS 7.5 ha innalzato la dimensione minima del file per la compressione da un valore predefinito di 256 byte in IIS 7.0 a un valore predefinito a 2.700 byte dopo aver realizzato che alcuni file compressi erano più grandi dell'originale. Non so se i 2.700 byte siano i migliori, ma poiché un pacchetto IP può ragionevolmente essere circa 1.400 byte, questa impostazione impedirebbe di comprimere i file meno di due pacchetti. Vorrei fare dei veri test o leggere i consigli di un esperto prima di contestare arbitrariamente la decisione di Microsoft di aumentare questa impostazione.

10 andava male quando le CPU erano due ordini di grandezza più lente di quanto non siano ora. L'algoritmo gzip è abbastanza veloce per quanto riguarda gli algoritmi di compressione in questi giorni, quindi lo imposto su 10 e vedo cosa succede.

Mi sembra che questo dipenda davvero dalla tua situazione. Se stai servendo molti file di grandi dimensioni e hai un po 'di energia della CPU da risparmiare, un numero maggiore sarebbe meglio. Tuttavia, poiché hai più connessioni simultanee, file più piccoli e una CPU meno potente, un numero più piccolo è migliore.

Nell'azienda per cui sto lavorando, la compressione dinamica abilitata per ASPX e javascript / css e pagine generati dinamicamente sembrano impiegare più tempo per il download. Abbiamo provato a impostare il livello di compressione su 1 e max. cpu 90% ma ancora peggio che senza compressione. È il mio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top