atom feed17 messages in ru.sysoev.nginxRe: Is it possible to monitor the fai...
FromSent OnAttachments
Robbie AllenJun 27, 2008 5:22 pm 
Alexander StauboJun 27, 2008 5:39 pm 
Robbie AllenJun 27, 2008 6:08 pm 
Rt IbmerJun 27, 2008 6:54 pm 
mikeJun 27, 2008 11:02 pm 
Grzegorz NosekJun 28, 2008 4:50 am 
Grzegorz NosekJun 28, 2008 5:31 am 
mikeJun 28, 2008 9:14 am 
Alexander StauboJun 28, 2008 12:28 pm 
Grzegorz NosekJun 28, 2008 12:53 pm 
Almir KaricJun 28, 2008 1:30 pm 
Brice FigureauJun 28, 2008 2:36 pm 
Alexander StauboJun 28, 2008 4:02 pm 
Rt IbmerJun 28, 2008 9:38 pm 
Grzegorz NosekJun 29, 2008 10:57 am.patch, .patch, .patch
Brice FigureauJun 30, 2008 12:23 pm 
Grzegorz NosekJun 30, 2008 12:49 pm 
Subject:Re: Is it possible to monitor the fair proxy balancer?
From:Grzegorz Nosek (grze@public.gmane.org)
Date:Jun 28, 2008 5:31:09 am
List:ru.sysoev.nginx

On sob, cze 28, 2008 at 03:08:46 +0200, Robbie Allen wrote:

Kind of a big limitation with fair if it provides ZERO instrumentation.

I'll try to hack something up to provide upstream_fair statistics but it'll require a patch to nginx (i.e. --add-module won't be enough). Hopefully Igor agrees to incorporate it.

As for dynamically adding/removing backends, mentioned elsethread, it isn't trivial as it would basically require restarting nginx workers anyway (at least for upstream_fair, which keeps its state in shared memory). Disabling/enabling predefined backends would be fine though.

However, there still remains the issue of communication between the load balancer and the outside world, i.e. *how* would you like to be told that a backend has been deemed up/down and *how* would you like to tell nginx that backend 1.2.3.4 is currently down?

Also, while I have your attention ;)

Alex complained in his blog post that upstream_fair does not provide a way to limit the maximum number of requests per backend. As parsing of 'server' directives in upstream{} blocks is done by nginx, I cannot easily add options there, so I see two possibilities:

- a new option, e.g. max_requests 10 10 20 20 (specifying the number for each backend in the order of server directives)

- overloading (with old/new/both behaviours possibly selectable by a per-upstream flag) the meaning of weight=X parameter

So, what say you, is such a feature (amounting to returning 502 errors after a certain amount of concurrent requests is reached) generally desired? If so, how would you like to configure it?

BTW, I seem to receive more flak about upstream_fair recently, are you people starting to use it? :)