2011/10/19 wsq003 <wsq...@sina.com>:
> Hi
> In manual there is following:
> nbproc <number>
>   Creates <number> processes when going daemon. This requires the "daemon"
>   mode. By default, only one process is created, which is the recommended mode
>   of operation. For systems limited to small sets of file descriptors per
>   process, it may be needed to fork multiple daemons. USING MULTIPLE PROCESSES
> My question is how DISCOURAGED is it? Here we need to handle a lot of small
> http request and small response, and haproxy need to handle more then 20k
> reuquests per seconds. Single process work in single CPU seems not enough.
> (We may add ACL config in the future, and haproxy would be even busier.)
> So, I want to set nbproc to 4 or 8.
> For now I know some shortages of multi-processe mode haproxy:
> 1, it would cause many context switch (after testing, this is acceptable)
> 2, it would become difficult to get status report for every process (we
> found some ways to make it acceptable, though it's still painful)
> Is there any other shortage that I do not realize?
> Thanks,


The first thing you need to remember before considering going
multiprocess is that HAProxy is event-driven, which means that the
faster the CPU, the faster HAProxy will be, and this is linear: over a
3GHz CPU, HAProxy will peform 50% faster than on a 2GHz...

Second point, consider that ACLs impact on HAProxy as null.
Well, for all acls but regexp based, where the impact remains realy low anyway.

HAProxy is not able to share its memory between process, so anything
related to memory won't work (stats, server maxconn, stick-table,
So if you can leave without that, it's fine.

On a single process we can go up to 50K at Exceliance. To be fair
that's Marketing, since Willy benched the appliance much over this
limit :)


Reply via email to