Балансировка сжатия IIS с использованием процессорного времени? - PullRequest
0 голосов
/ 11 июня 2009

Например, при уровне сжатия IIS, равном 9, просмотр веб-страниц значительно быстрее. Тем не менее, у меня также есть приложение веб-служб, которое передает значительные объемы данных (например, полезная нагрузка 3 МБ), для передачи данных клиенту требуется на 20-30% больше, потому что процессор на сервере требуется время, чтобы сжать его.

Есть ли эмпирическое правило для уровня сжатия IIS в зависимости от объема передаваемых данных?

Приветствуется и анекдотический опыт.

Ответы [ 2 ]

0 голосов
/ 12 июня 2009

Хорошо, я выполнил несколько тестов, и независимо от того, как вы его нарезаете, отключение сжатия приводит к более высокой производительности для моего варианта использования. Вот результат вызова веб-службы, который возвращает 3,2 мегабайта данных (в основном это список вещей, десериализованных в байтовые массивы)

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

Процессор довольно привязан к уровню 9 на время вызова веб-службы, не так уж плохо на уровне 8 и для всего, что ниже, в использовании однозначных цифр.

0 голосов
/ 11 июня 2009

Сомнительно, потому что есть так много переменных:

  • скорость соединения клиент / сервер
  • Скорость процессора и рабочая нагрузка
  • Тип данных (энтропия)
  • ...

Я ожидаю, что соединение достаточно быстрое в вашем случае использования? В конце концов, сжатие 3 МБ не должно занимать столько времени.

...