2015-01-07 2 views
1

Tomcat 7 (неуверенный, если это проблема в других версиях), по-видимому, прерывает применение gzip-сжатия.Проблемы с получением tomcat 7 для использования сжатия gzip

Я нахожу, что он не будет работать для определенного запуска/развертывания, но затем остановка и запуск службы могут привести к ее возобновлению.

Таким образом, это либо работает, либо не работает на определенном запуске. Это сводило меня с ума, в основном, полтора полтора дня, и я сбрасывал с помощью конфигов и т. Д., Но без изменений я могу неоднократно (должен был проверить это примерно 20-30 раз, просто чтобы убедиться, что я не представляю вещи (Это был долгий день!)) Заставить его работать/не работать, просто остановив и запустив службу tomcat. Вероятность этого gzipping материала составляет примерно 50% - сначала я думал, что он надежно следит за работой/не работает, но иногда вы будете работать с ним несколько раз подряд.

Я прошел через журналы с прекрасным зуботехническим оборудованием, и нет ничего, что указывало бы на то, что что-то не так с любым стартом.

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

Я также экспериментировал с использованием NIO (неблокирующего соединителя) и useSendfile="false" (который игнорируется при использовании обычной блокировки, так как журналы каталогов сообщают вам), но это, похоже, страдает от той же проблемы.

Действительно в тупик от этого.

Некоторые из ресурсов/вещей, которые я пробовал:

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

Еще одна вещь, которую я заметил, - это люди, которые говорят о using apache and tomcat together, а затем нужно выполнить сжатие в apache. Мы этого не делаем! Это просто кошка.

EDIT

Я просто наткнулся across this post что побудило моего попробовать компрессию с помощью браузера на сервере ... сжатие работает там! Не уверен, что с этим делать!

EDIT

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

+0

Можете ли вы сделать двойную проверку в wirehark, что ваш сервер не отправляет (неправильную) длину контента * в дополнение к * chunking? См. https://bugzilla.mozilla.org/show_bug.cgi?id=237623 для проблем в этих строках. – Gijs

ответ

1

Ok.Просто проделал еще несколько диагностических операций после того, как он выглядел так, как будто он работал на локальном хосте на сервере.

Стоит отметить, что я использовал обычную сетевую вкладку Firefox, а также firebug и yslow (вам нужен firebug для использования yslow). Все они периодически сообщали, что сжатие не было.

Использование curl оказалось, что он достоверно сообщает о сжатии.

Затем я затем просмотрел, что браузер делает с помощью wirehark, который подтвердил, что сжатие включено (вы можете увидеть сжатую бессмыслицу и все), в то время как для тех же запросов firefox + yslow говорил, что это не так.

Не знаю, что здесь происходит, но, похоже, это просто ошибка с инструментами.

Суть в том, что вы не доверяете yslow и firebug ... они будут врать вам! Они полезны для нагрузок других вещей, но не для определения того, включено ли сжатие или нет. Также возможно, что это просто проблема с yslow в firefox - по-видимому, она просто смотрит на то, что firefox (неправильно) говорит о запросе

1

Как отметил Виктор в Firefox bug you filed, вкладка Firefox Network отображает только несжатый размер (в столбце «Размер»). В Firefox 37 (в настоящее время Nightly) вы можете увидеть сжатый размер (в новом столбце «Перенос»).

+0

привет спасибо за ответ. Вы уверены, что это одно и то же: это, по-видимому, показало, что заголовки каким-то образом искажались на пути, что кажется более серьезной проблемой, чем отсутствие сжатого и несжатого размера. В конце этого вопроса было что-то взад и вперед, и я не мог по-настоящему следовать. Есть ли что-нибудь, что могло бы объяснить перерыв? –

+0

Я только что проверил проблему. Он все еще там + Я опубликовал несколько скриншотов + фрагмент из wirehark aswell –

+0

И jryans задали еще несколько вопросов ... В принципе, попробуйте отключить e10s, посмотрите, изменит ли это результаты. Дайте нам знать! – Gijs