Ok, makes sense.

The usecase is quite specific as the connection rate is really low (max 5
per minutes) and the cpu usage induced by each connection is really high
(between 10% and 20% per connnection).

I'll try with the leastconnection algo + agent-port every 2 seconds.

thanx

Sebastien Estienne


On Fri, Sep 6, 2013 at 3:10 PM, Willy Tarreau <[email protected]> wrote:

> On Thu, Sep 05, 2013 at 12:39:42AM +0200, Sebastien Estienne wrote:
> > Hello,
> >
> > I'm testing the patch of simon implementing agent-port.
> >
> > I'd like to loadbalance RTMP servers based on the CPU usage, so i
> > implemented a small tcp servers that returned the percent of free CPU and
> > use the agent-port feature.
> >
> > I want new connection to always go to the server with the lowest CPU
> usage,
> > which balancing algorithm should i use to achieve this?
>
> It does not make sense at all in fact, it means you'd be able to always
> check all servers' CPU usage before sending a connection, which would
> add a huge overhead and will simply result in all servers appearing
> saturated by the measurements.
>
> In practice, you want to constantly monitor CPU usages (the agent is suited
> for this), so that this metric is used to increase or reduce the weight.
> Using so, you can use whatever LB algorithm you want.
>
> The algorithm is simple in the agent :
>   - if the server is overloaded, reduce the advertised weight
>   - if the server is underloaded, increase the advertised weight
>
> This will result in all servers constantly running within the CPU usage
> window
> you define in your agent, whatever their power and the impact of each of
> your
> new connections.
>
> Regards,
> Willy
>
>

Reply via email to