Мы используем F5 для балансировки нагрузки и SSL-прокси. За этим мы обслуживаем Java-приложения с экземплярами Tomcat. Это довольно небольшие приложения - сотни одновременных пользователей.
Я хотел бы сжать часть содержимого, и мне нужен совет по выбору настройки сжатия на F5 или на экземплярах tomcat. Какие-то важные факторы в решении, или это шесть из одного полдюжины другого?
Если вы выполняете балансировку нагрузки на уровне 7 (HTTP), то сервер приложений не дает реальной выгоды от сжатия содержимого, поскольку прокси-сервер распаковывает содержимое, отправляя его клиенту. Это происходит потому, что LB может поддерживать другую версию / опцию, чем та, которую запрашивает клиент.
Пример LB сообщает серверу приложений HTTP / 1.1, но клиент говорит HTTP / 1.0. Второй пример LB поддерживает сжатие, поэтому ответ сервера приложений сжимается, но клиент не поддерживает сжатие.
Вы должны отключить сжатие на серверах приложений и позволить LB обрабатывать сжатие. Вы сэкономите LB пару циклов ЦП распаковки и повторного сжатия содержимого.
Заявление об ограничении ответственности. Я использовал другие балансировщики нагрузки, но не F5.
Вопрос действительно сводится к тому, где вы хотите, чтобы дополнительные накладные расходы обрабатывали логику сжатия для запуска. Если у вас мощные серверы приложений, поместите его туда, иначе F5 сможет с этим справиться. Тем не менее, это то, что вам нужно будет оценить на основе того, насколько сильно будет сжато и сколько дополнительной нагрузки будет на ваших системах.
BIG-IP выполняет аппаратное сжатие на большинстве платформ (до ~ 16 Гбит / с). Если ваши серверы делают это программно, вы можете сэкономить ресурсы ЦП сервера, выполняя там сжатие.
Техническое описание оборудования системы BIG-IP
http://www.f5.com/pdf/products/big-ip-platforms-datasheet.pdf
BIG-IP не распаковывает содержимое ответа, если вы не настроили функцию, которая требует синтаксического анализа содержимого ответа (например, перезапись полезной нагрузки HTTP-ответа или синтаксический анализ ответа веб-приложения ASM).
Аарон