Балансировка сжатия 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 не должно занимать так много времени.