Welcome! Log In Create A New Profile

Advanced

Re: nginx + minify

Maxim Dounin
September 02, 2011 06:42AM
Hello!

On Fri, Sep 02, 2011 at 04:27:39PM +0600, Илья Шипицин wrote:

> от пользователя до балансировщика канал как правило тонкий, с
> задержками. если http keep-alive не включен, то на каждый новый запрос
> будет открываться (и медленно разгоняться) tcp-сессия. на этом будут
> максимальные потери скорости. pipelining-ом можно в первом приближении
> пренебречь, раз уж мы не экономим ресурсы на склеивание css и js на
> лету php-скриптом.

То, что отключать keepalive - плохо, это и ежу понятно. Речь о том,
что keepalive недостаточен: склейка ресурсов даёт как минимум
экономию одного round-trip'а на каждый подклеенный ресурс, даже
если пренебречь остальными факторами.

Maxim Dounin

>
> 2 сентября 2011 г. 14:14 пользователь Maxim Dounin <mdounin@mdounin.ru> написал:
> > Hello!
> >
> > On Fri, Sep 02, 2011 at 01:53:36PM +0600, Илья Шипицин wrote:
> >
> >> по идее keep-alive дает аналогичный эффект, что и склеивание файлов
> >> (ну, оверхед на http-заголовках чуть выше), keep-alive браузерами
> >> поддерживается из коробки.
> >
> > Не даёт.  Даже если забыть про такие мелочи, как оверхед на
> > заголовки и менее эффективное сжатие, - остаются лишние round
> > trip'ы на каждый файл.  Ибо pipelining - это совсем отдельная от
> > keepalive штука, и из коробки он не включён.
> >
> > Maxim Dounin
> >
> >> а добиться высокой скорости отображения - на отдельных файлах проще
> >> (по мере загрузки), чем одним большим файлом.
> >>
> >> расскажите, как вы количественно оценивали выгоду от склейки файлов ?
> >> и как вы делаете minify ? из Makefile-а чем-нибудь типа Microsoft Ajax
> >> Minifier или из PHP на лету ?
> >>
> >>
> >> 1 сентября 2011 г. 1:35 пользователь Alexander Moskalenko
> >> <alexander.moskalenko@gmail.com> написал:
> >> > Даже не обязательно так, у нас написан специальный метод, который вызывается
> >> > руками после изменений в CSS/JS.
> >> > Метод генерит все необходимое, в том числе .gz
> >> >
> >> > 2011/8/31 Igor Sysoev <igor@sysoev.ru>
> >> >>
> >> >> On Wed, Aug 31, 2011 at 08:09:22PM +0300, Gena Makhomed wrote:
> >> >> > On 31.08.2011 16:47, Igor Sysoev wrote:
> >> >> >
> >> >> > >> Чтобы склеивать эти все файлы вместе и
> >> >> > >> передавать как один, запускается PHP script.
> >> >> > >> Он создаёт соответствующий склеенный
> >> >> > >> файл и в следующий раз читает его уже с
> >> >> > >> диска.   Работает это значительно
> >> >> > >> быстрее чем если загружать все четыре
> >> >> > >> CSS файла по отдельности через<link href...>
> >> >> > >> для каждого.
> >> >> >
> >> >> > скорее всего, это http://code.google.com/p/minify/
> >> >> > или что-то подобное.
> >> >> >
> >> >> > > Да, но какова цена этой склейки.
> >> >> > > Почему бы не склеить их в статический файл для nginx'а,
> >> >> > > да ещё и сделать .gz вариант ?
> >> >> >
> >> >> > таким образом будет проще настраивать, если для разных
> >> >> > страниц надо подключать разные наборы стилей/скриптов.
> >> >> >
> >> >> > когда можно сделать 1 файл style.css/style.css.gz
> >> >> > и 1 файл script.js/script.js.gz - тогда все просто,
> >> >> > в момент выкладывания новой версии сайта на сервер
> >> >> > скриптом просто заново перестраиваются эти 4 файла.
> >> >> >
> >> >> > а когда таких комбинаций файлов css/js десятки и сотни,
> >> >> > то появляется большое количество ручной работы, которую
> >> >> > не совсем понятно как можно автоматизировать без глюков.
> >> >>
> >> >> Зачем руками ? Есть Makefile.
> >> >>
> >> >> Например, nginx.org (не самый большой сайт, конечно) транслируется из XML
> >> >> в HTML с помощью xsltproc. Потом rsync'ается в каталог, где для файлов
> >> >> делается .gz, а потом это снова rsync'ается в каталог веб-сервера. Всё,
> >> >> что нужно сделать после изменений (как в XML, так и в XSLT), это
> >> >>
> >> >>    make all gzip copy
> >> >>
> >> >>
> >> >> --
> >> >> Игорь Сысоев
> >> >> http://sysoev.ru
> >> >>
> >> >> _______________________________________________
> >> >> nginx-ru mailing list
> >> >> nginx-ru@nginx.org
> >> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >> >
> >> >
> >> > _______________________________________________
> >> > nginx-ru mailing list
> >> > nginx-ru@nginx.org
> >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >> >
> >> >
> >> _______________________________________________
> >> nginx-ru mailing list
> >> nginx-ru@nginx.org
> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: upload progress и 404 Not Found

Igor Sysoev August 31, 2011 08:38AM

Re: upload progress и 404 Not Found

locojohn August 31, 2011 09:02AM

Re: upload progress и 404 Not Found

Igor Sysoev August 31, 2011 09:14AM

Re: upload progress и 404 Not Found

locojohn August 31, 2011 09:23AM

Re: upload progress и 404 Not Found

Igor Sysoev August 31, 2011 09:48AM

Re: upload progress и 404 Not Found

locojohn August 31, 2011 12:10PM

nginx + minify

Gena Makhomed August 31, 2011 01:10PM

Re: nginx + minify

Igor Sysoev August 31, 2011 02:08PM

Re: nginx + minify

Alexander Moskalenko August 31, 2011 03:38PM

Re: nginx + minify

Илья Шипицин September 02, 2011 03:54AM

Re: nginx + minify

Maxim Dounin September 02, 2011 04:16AM

Re: nginx + minify

Илья Шипицин September 02, 2011 06:28AM

Re: nginx + minify

Maxim Dounin September 02, 2011 06:42AM

Re: nginx + minify

Alexander Moskalenko September 02, 2011 04:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 318
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready