Latency problem with one browser

Max nginxyz at mail.ru
Fri Mar 2 16:28:32 UTC 2012


02 марта 2012, 17:52 от Maxim Dounin <mdounin at mdounin.ru>:
> Hello!
> 
> On Fri, Mar 02, 2012 at 05:15:54PM +0400, Max wrote:
> 
> >
> > 02 марта 2012, 17:09 от Maxim Dounin <mdounin at mdounin.ru>:
> > > Hello!
> > >
> > > On Fri, Mar 02, 2012 at 01:38:45PM +0100, Andrea Soracchi wrote:
> > >
> > > > Hi,
> > > >
> > > > I installed nginx 1.05 and php-fpm 5.3.10 in Ubuntu 11.10.
> > > >
> > > > If I browse with explorer,firefox and chrome all works very well, all is
> > > fast!
> > > >
> > > > If I use my Playbook (with webkit) all is slow! With webinspector I noticed
> > > that the problem is latency. I get a very high latency (from 3 to 15 seconds
> > > random) for all the pages with php code.
> > > >
> > > > With the same playbook, I browse the SAME SITES inside other server
> > > (actually I've just copied it in it ):
> > > >
> > > >       - nginx 0.84
> > > >       - php 5.3.0
> > > >       - ubuntu 9.10
> > > >
> > > > and works very well and fast! It's incredible!
> > > >
> > > > I have attached the main nginx.conf, nginx-vs.conf, main php-fpm.conf,
> > > php-fpm-vs.conf and fastcgi_params_phpfpm.
> > > >
> > > > Any idea?
> > >
> > > Try
> > >
> > > keepalive_disable msie6;
> > >
> > > http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_disable
> >
> > This is WebKit related, so this is more likely to help:
> >
> > keepalive_disable safari;
> 
> No.  The problem is that keepalive is disabled by default for safari,
> and the "keepalive_disable msie6;" will re-enable it.

Just for the record - keepalive_disable is set to msie6 and safari
by default, but using the keepalive_disable directive explicitly
disables keepalive for the specified arguments and implicitly
enables (by not disabling) keepalive for all the other possible
arguments.

So to enable keepalive for a browser that has keepalive disabled
by default (which currently includes msie6 and safari) you have
to use "keepalive_disable ID;", where ID is anything but the ID
of the browser you want to enable keepalive for.

This disables keepalive for msie6 and implicitly enables
keepalive for safari and all the other browsers:

keepalive_disable msie6;

This disables keepalive for safari and implicitly enables
keepalive for msie6 and all the other browsers:

keepalive_disable safari;

This disables keepalive for safari and browser "none",
and implicitly enables keepalive for msie6, but not
due to the "none" argument:

keepalive_disable none safari;

That's because "none" does not actually reset the keepalive_disable
variable to zero, it's implemented as another browser (2nd bit in the
keepalive_disable browser bitmap), so specifying "none" as a single
argument disables keepalive only for browser "none" and implicitly
enables it for all the other browsers.

I know this directive is a workaround in the first place, but it would
be nice if this were documented in the official documentation.

Max


More information about the nginx mailing list