memcached и сжатые ключики

Igor Sysoev is at rambler-co.ru
Fri Sep 21 12:05:21 MSD 2007


On Fri, Sep 21, 2007 at 11:32:41AM +0400, Sukhachev Andrew wrote:

> > У  клиентов  для  memcached-а  есть  возможнсть  класть  в него сжатую
> > gzip-ом информацию.
> > При хранении html-я в memcached-е это сжатие довольно эффективно.
> 
>   Кстати очень интересный вопрос. Правда меня он интересует несколько в другом контексте:
> 
>   1. Есть статика (js,css,..) которая отдается nginx'ом. Можно-ли каким-то образом ее заранее
>      gzip-нуть, чтобы потом nginx просто тупо отдавал запакованный вариант, если браузер
>      поддерживает gzip. Т.е. типа:
>        location /js/ {
>           root /path/to/js/orig;
>           if ( gzip-is-supported ) {
>              root /path/to/js/gzipped;
>           }
>        }

Можно сделать переменую $gzip_supported, которая принимала бы истинное
значение в зависимости от параметров gzip-модуля и возможности браузера
принимать сжатый ответ.

>   2. Если upstream отдает уже gzip-нутый ответ, что сделает nginx если:
>      a. Браузер поддерживает gzip (оптимально было бы просто отдать as-is)
>      b. Браузер не поддерживает gzip (оптимально было бы распаковать)

nginx отдаёт, как есть.

>   3. (В продолжение к п.2) А если включена proxy_store? Можно как-нибудь в proxy_store хранить
>      2 варианта - gzip/orig и также отдавать их в зависимости от браузера.

Нет.

>   Вы конечно можете сказать, что gzip это не слишком затратная операция :) Но когда канал не очень
>   хороший, приходится ставить gzip_level=9, и проц грузится достаточно неслабо...

Для сжатия достаточно уровня 1. Если 1 сожмёт в 2-4 раза, то 9 - в 2.5-5.
А процессор будет есть раза в два больше.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list