2009-06-11 9 views
0

Wenn beispielsweise die IIS-Komprimierung auf 9 gesetzt wird, ist das Surfen im Internet wesentlich schneller. Allerdings habe ich auch eine Web-Services-Anwendung auf der Box, die erhebliche Datenmengen überträgt (zB 3MB Payload ist typisch), es dauert tatsächlich 20-30% länger für die Daten an den Client zu bekommen, weil die CPU auf dem Server dauert eine Weile, um es zu komprimieren.Balancieren der IIS-Komprimierung mit der CPU-Zeit?

Gibt es eine Faustregel für die Ebene der IIS-Komprimierung gegenüber der übertragenen Datenmenge?

Anekdotische Erfahrung ist auch willkommen.

Antwort

0

Ok, ich lief einige Benchmarks und egal wie Sie es schneiden, Ausschalten der Komprimierung führt zu schneller Leistung für meinen Anwendungsfall. Hier sind das Ergebnis für einen Web-Service-Aufruf, der 3,2 Megabyte an Daten zurückgibt (meist Liste der Dinge deserialisiert in Byte-Arrays)

Compression Bandwidth Time 
Level  (KB)  (seconds) 
9   1,174  4.2 
8   1,174  2.2 
7   1,172  1.625 
6   1,174  1.5 
5   1,181  1.39 
4   1,213  1.344 
3   1,441  1.375 
2   1,490  1.344 
1   1,548  1.312 
0   1,554  1.312 

No   3,226  1.266 
Compression 

Die CPU ziemlich auf Stufe 9 für die Dauer des Web-Service-Aufruf gebunden ist, nicht so schlecht auf Level 8 und alles darunter liegt im einstelligen Bereich.

0

Zweifelhafte, denn es gibt so viele Variablen:

  • Client/Server-Verbindungsgeschwindigkeit
  • CPU-Geschwindigkeit und Workload
  • Art der Daten (Entropie)
  • ...

Ich erwarte, dass die Verbindung in Ihrem Anwendungsfall ziemlich schnell ist? Komprimieren 3MB sollte nicht so lange dauern.