Назад | Перейти на главную страницу

сжатие gzip хорошее или плохое?

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

Вывод, который отправляется с сервера, всегда является текстом / html, и мы не используем мультимедийные (аудио / видео) только изображения (статические изображения сайта, такие как логотип и т. Д.).

Мы испытываем серьезные проблемы с производительностью, и мне интересно, отключили ли gzip / mod_deflate на сервере, чтобы сервер не сжимал выходные данные. Приведет ли это к повышению производительности?

Для text / html наличие gzip обычно хорошо. Возникает вопрос: в чем именно заключается проблема с перфомансом, и вызвана ли она кодом вашего приложения или накладными расходами gzip?

По нашему опыту, gzip добавляет примерно 1–9% пользователей ЦП по сравнению с использованием ЦП нашим приложением. IOW, загрузка процессора полностью зависит от нашего приложения.

Еще одно соображение SSL: если ваш веб-сервер завершает работу SSL (имеет сертификат ssl и т. Д.), Эти накладные расходы могут быть значительными. Недавно мы установили сертификаты SSL в наш балансировщик нагрузки, и использование ЦП на веб-сервере снизилось почти вдвое. (В основном мы обслуживаем REST API, поэтому SSL постоянно перестраивается для транзакционных разговоров.)

Наша установка - IIS 6 и IIS 7, fwiw, но вышесказанное применимо к любой ОС.

Теоретически отключение сжатия должно несколько освободить ЦП, но точно сказать невозможно. Лучше всего использовать приложение для тестирования производительности, такое как ApacheBench или siege, и проверить возможности вашего сервера с включенным и отключенным сжатием. Если ваш сервер находится под большой нагрузкой и его нелегко протестировать, вы можете попробовать просто отключить сжатие и посмотреть, заметно ли изменится загрузка процессора (здесь поможет приложение для мониторинга).

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

Сжатие подходит для статического контента (вещи, которые еще не были сжаты, не пытайтесь повторно сжимать изображения и zip-файлы). Сжатие обычно плохо для динамического контента, поскольку накладные расходы съедают любую потенциальную выгоду.