proxy_cache / fastcgi_cache / uwsgi_cache / ...
Gena Makhomed
gmm на csdoc.com
Вс Июл 31 20:07:15 UTC 2011
On 31.07.2011 22:15, Maxim Dounin wrote:
>>>> Нужен ли мне mod_deflate Апача для
>>>> комбинации Apache2+Nginx и включенным
>>>> сжатием у последнего?
>>
>>> Не нужен. И даже вреден, если используется кэширование на nginx.
>>
>> не было бы более эффективным сохранять в cache сразу сжатый
>> через gzip -9 ответ, чтобы потом не тратить время и ресурсы
>> процессора, сжимая этот контент при каждой отдаче клиентам?
>>
>> ...и потом только *меньшей* части клиентов, которым надо отдать ответ
>> в не-сжатом виде - им можно будет на лету контент разжать и отдать.
>
> Кто ж мешает.
>
> http://mdounin.ru/hg/ngx_http_gunzip_filter_module
дело не в том, что кто-то мешает, просто никак не могу понять почему
в nginx сейчас используется по умолчанию менее эффективный алгоритм,
а более эффективный алгоритм можно включить только если сжимать
контент на backend-сервере (apache) и поставить дополнительный
модуль, который сейчас не входит в официальную поставку nginx.
возможно при таком методе работы есть какие-то неочевидные нюансы
и глюки, поэтому по дефолту такой режим не используется для кэша?
и вот еще один совсем не понятный момент, - по умолчанию
gunzip (on|off)
Default: off
"gunzipping responses returned with Content-Encoding: gzip for clients
that doesn't support it" - по умолчанию выключено, хотя такие клиенты
скорее всего из-за этого не могут понять ответ, сжатый через gzip,
да и поведение nginx будет не соответствовать RFC - клиент не сказал,
что он понимает сжатый ответ, но nginx вернет ему сжатый ответ.
Это примерно то же самое, как если nginx говорит backend-серверу,
что понимает только протокол HTTP версии 1.0, а backend-сервер ему
не верит, и присылает в ответ HTTP 1.1 c Chunked transfer encoding.
С моей точки зрения, логично чтобы этот модуль по умолчанию входил
в состав nginx и по умолчанию чтобы он был включен, "Default: on",
и чтобы по умолчанию в кеше nginx хранился сжатый через gzip контент.
В действительности - все наоборот, значит я не понимаю какие-то нюансы,
почему сейчас и применяются по умолчанию совсем другие значения в nginx.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru