Been testing this on my servers now for 2 days now, handling approximately 100mbit of constant traffic (3x20mbit, 1x40mbit).<div><br></div><div>Havent noticed any large bugs, had an initial crash on one of the servers however havent been able to replicate. The servers are a mixture of openvz, XEN and one vmware virtualised containers running debian lenny or squeeze,</div>
<div><br></div><div>Speed increases from this module are decent, approximately 50ms from the request time and the HTTP download starts 200ms earler resulting in a 150ms quicker load time on average.</div><div><br></div><div>
all in all, seems good.</div><div><br></div><div>Thanks for all your hard work Maxim.</div><div><br><div class="gmail_quote">On Thu, Aug 4, 2011 at 4:51 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello!<br>
<div class="im"><br>
On Wed, Aug 03, 2011 at 05:06:56PM -0700, Matthieu Tourne wrote:<br>
<br>
> Hi,<br>
><br>
> I'm trying to use keepalive http connections for proxy_pass directives<br>
> containing variables.<br>
> Currently it only works for named upstream blocks.<br>
><br>
> I'm wondering what would be the easiest way,<br>
> maybe setting peer->get to ngx_http_upstream_get_keepalive_peer and<br>
> kp->original_get_peer to ngx_http_upstream_get_round_robin_peer() towards<br>
> the end of ngx_http_create_round_robin_peer().<br>
> If I can figure how to set kp->conf to something sane this might work :)<br>
><br>
> Thoughts ?<br>
<br>
</div>You may try to pick one from upstream's main conf upstreams<br>
array (e.g. one from first found upstream with init set to<br>
ngx_http_upstream_init_keepalive). Dirty, but should work.<br>
<br>
Maxim Dounin<br>
<div><div></div><div class="h5"><br>
><br>
> Thank you,<br>
> Matthieu.<br>
><br>
> On Tue, Aug 2, 2011 at 10:21 PM, SplitIce <<a href="mailto:mat999@gmail.com">mat999@gmail.com</a>> wrote:<br>
><br>
> > Ive been testing this on my localhost and one of my live servers (http<br>
> > backend) for a good week now, I haven't had any issues that I have noticed<br>
> > as of yet.<br>
> ><br>
> > Servers are Debian Lenny and Debian Squeeze (oldstable, stable)<br>
> ><br>
> > Hoping it will make it into the developer (1.1.x) branch soon :)<br>
> ><br>
> ><br>
> > On Wed, Aug 3, 2011 at 1:57 PM, liseen <<a href="mailto:liseen.wan@gmail.com">liseen.wan@gmail.com</a>> wrote:<br>
> ><br>
> >> Hi<br>
> >><br>
> >> Could nginx keepalive work with HealthCheck? Does Maxim Dounin have a<br>
> >> support plan?<br>
> >><br>
> >><br>
> >><br>
> >> On Wed, Aug 3, 2011 at 3:09 AM, David Yu <<a href="mailto:david.yu.ftw@gmail.com">david.yu.ftw@gmail.com</a>> wrote:<br>
> >><br>
> >>><br>
> >>><br>
> >>> On Wed, Aug 3, 2011 at 2:47 AM, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br>
> >>><br>
> >>>> Hello!<br>
> >>>><br>
> >>>> On Wed, Aug 03, 2011 at 01:53:30AM +0800, David Yu wrote:<br>
> >>>><br>
> >>>> > On Wed, Aug 3, 2011 at 1:50 AM, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>><br>
> >>>> wrote:<br>
> >>>> ><br>
> >>>> > > Hello!<br>
> >>>> > ><br>
> >>>> > > On Wed, Aug 03, 2011 at 01:42:13AM +0800, David Yu wrote:<br>
> >>>> > ><br>
> >>>> > > > On Wed, Aug 3, 2011 at 1:36 AM, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>><br>
> >>>> wrote:<br>
> >>>> > > ><br>
> >>>> > > > > Hello!<br>
> >>>> > > > ><br>
> >>>> > > > > On Tue, Aug 02, 2011 at 04:24:45PM +0100, António P. P. Almeida<br>
> >>>> wrote:<br>
> >>>> > > > ><br>
> >>>> > > > > > On 1 Ago 2011 17h07 WEST, <a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a> wrote:<br>
> >>>> > > > > ><br>
> >>>> > > > > > > Hello!<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > JFYI:<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > Last week I posted patch to nginx-devel@ which adds<br>
> >>>> keepalive<br>
> >>>> > > > > > > support to various backends (as with upstream keepalive<br>
> >>>> module),<br>
> >>>> > > > > > > including fastcgi and http backends (this in turn means<br>
> >>>> nginx now<br>
> >>>> > > > > > > able to talk HTTP/1.1 to backends, in particular it now<br>
> >>>> > > > > > > understands chunked responses). Patch applies to 1.0.5 and<br>
> >>>> 1.1.0.<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > Testing is appreciated.<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > You may find patch and description here:<br>
> >>>> > > > > > ><br>
> >>>> > > > > > ><br>
> >>>> > ><br>
> >>>> <a href="http://mailman.nginx.org/pipermail/nginx-devel/2011-July/001057.html" target="_blank">http://mailman.nginx.org/pipermail/nginx-devel/2011-July/001057.html</a><br>
> >>>> > > > > > ><br>
> >>>> > > > > > > Patch itself may be downloaded here:<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > <a href="http://nginx.org/patches/patch-nginx-keepalive-full.txt" target="_blank">http://nginx.org/patches/patch-nginx-keepalive-full.txt</a><br>
> >>>> > > > > > ><br>
> >>>> > > > > > > Upstream keepalive module may be downloaded here:<br>
> >>>> > > > > > ><br>
> >>>> > > > > > > <a href="http://mdounin.ru/hg/ngx_http_upstream_keepalive/" target="_blank">http://mdounin.ru/hg/ngx_http_upstream_keepalive/</a><br>
> >>>> > > > > > ><br>
> >>>> <a href="http://mdounin.ru/files/ngx_http_upstream_keepalive-0.4.tar.gz" target="_blank">http://mdounin.ru/files/ngx_http_upstream_keepalive-0.4.tar.gz</a><br>
> >>>> > > > > > ><br>
> >>>> > > > > ><br>
> >>>> > > > > > So *either* we use the patch or use the module. Correct?<br>
> >>>> > > > ><br>
> >>>> > > > > No, to keep backend connections alive you need module *and*<br>
> >>>> patch.<br>
> >>>> > > > > Patch provides foundation in nginx core for module to work with<br>
> >>>> > > > > fastcgi and http.<br>
> >>>> > > > ><br>
> >>>> > > > With a custom nginx upstream binary protocol, I believe<br>
> >>>> multiplexing will<br>
> >>>> > > > now be possible?<br>
> >>>> > ><br>
> >>>> > > ENOPARSE, sorry.<br>
> >>>> > ><br>
> >>>> > After some googling ...<br>
> >>>> > ENOPARSE is a nerdy term. It is one of the standard C library error<br>
> >>>> codes<br>
> >>>> > that can be set in the global variable "errno" and stands for Error No<br>
> >>>> > Parse. Since you didn't get it, I can thus conclude that unlike me you<br>
> >>>> are probably<br>
> >>>> > a normal, well adjusted human being ;-)<br>
> >>>><br>
> >>>> Actually, this definition isn't true: there is no such error code,<br>
> >>>> it's rather imitation. The fact that author of definition claims<br>
> >>>> it's real error indicate that unlike me, he is normal, well<br>
> >>>> adjusted human being. ;)<br>
> >>>><br>
> >>>> > Now I get it. Well adjusted I am.<br>
> >>>><br>
> >>>> Now you may try to finally explain what you mean to ask in your<br>
> >>>> original message. Please keep in mind that your are talking to<br>
> >>>> somebody far from being normal and well adjusted. ;)<br>
> >>>><br>
> >>>> Maxim Dounin<br>
> >>>><br>
> >>>> p.s. Actually, I assume you are talking about fastcgi<br>
> >>>> multiplexing.<br>
> >>><br>
> >>> Nope not fastcgi multiplexing. Multiplexing over a custom/efficient<br>
> >>> nginx binary protocol.<br>
> >>> Where requests sent to upstream include a unique id w/c the upstream will<br>
> >>> also send on response.<br>
> >>> This allows for asychronous, out-of-bands, messaging.<br>
> >>> I believe this is what mongrel2 is trying to do now ... though as an http<br>
> >>> server, it is nowhere near as robust/stable as nginx.<br>
> >>> If nginx implements this (considering nginx already has a lot of market<br>
> >>> share), it certainly would bring more developers/users in (especially the<br>
> >>> ones needing async, out-of-bands request handling)<br>
> >>><br>
> >>><br>
> >>> Short answer is: no, it's still not possible.<br>
> >>>><br>
> >>>> _______________________________________________<br>
> >>>> nginx mailing list<br>
> >>>> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> >>>> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
> >>>><br>
> >>><br>
> >>><br>
> >>><br>
> >>> --<br>
> >>> When the cat is away, the mouse is alone.<br>
> >>> - David Yu<br>
> >>><br>
> >>> _______________________________________________<br>
> >>> nginx mailing list<br>
> >>> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> >>> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
> >>><br>
> >>><br>
> >><br>
> >> _______________________________________________<br>
> >> nginx mailing list<br>
> >> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> >> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
> >><br>
> >><br>
> ><br>
> ><br>
> > --<br>
</div></div>> > Warez Scene <<a href="http://thewarezscene.org" target="_blank">http://thewarezscene.org</a>> Free Rapidshare Downloads<<a href="http://www.nexusddl.com" target="_blank">http://www.nexusddl.com</a>><br>
<div class="im">> ><br>
> ><br>
> > _______________________________________________<br>
> > nginx mailing list<br>
> > <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
> ><br>
> ><br>
<br>
> _______________________________________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><a href="http://thewarezscene.org" target="_blank">Warez Scene</a> <a href="http://www.nexusddl.com" target="_blank">Free Rapidshare Downloads</a><br><br>
</div>