Балансировка сжатия IIS с использованием процессорного времени?

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

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

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

2 ответа

Решение

Хорошо, я провел несколько тестов, и, как бы вы ни делали это, отключение сжатия приводит к более высокой производительности для моего варианта использования. Вот результат вызова веб-службы, который возвращает 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 и для всего, что ниже, в использовании однозначных цифр.

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

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

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

Другие вопросы по тегам