Optimize perlbal as reverse proxy.

dormando dormando at rydia.net
Thu Mar 20 07:49:56 UTC 2008

XS headers installed?

How about connect_ahead and persist_backend for the service?
max_backend_uses set high enough? Test the bench with persistent client
keepalives as well?

I can't even think of anything besides the above for optimizing it :)
Having connections be reused and installing XS headers cause huge drops
in CPU usage, but in general perlbal won't be that screaming fast
compared to a raw apache serving data out of cache. Part of the idea is
your backend servers probably can't keep up with it anyway, or you're
doing something complicated like serving files out of mogilefs and
really need the extra complexity. Also perlbals are easy/cheap to scale out.


Abhinav Akshay wrote:
> Hi,
> I am using perlbal as  a reverse proxy. My set up includes three
> identical backend apache servers connected to the proxy server. (The
> backends are identical to share  high demand.) I add/remove backend
> servers on the fly.
> The problem I am facing is that of optimization. If I direct traffic
> through the proxy server, I am able to achieve a rate of around 450
> connections/sec. However, if I directly connect to a single backend
> apache server, I get upto 2500 connections/sec.
> It would be great if I could get some tips to optimze the perfomance of
> perlbal?
> Thanks,
> Abhinav.
> p.s: Other points about my setup:
> * I do use IO::AIO, (if that's a matter of concern).
> *  Under heavy load, 'top' shows CPU usage as 99.9% by perlbal.
> * I use httperf as workload generator, the command to test the
> connection rate being:  httperf --hog --server
> --uri=/static.html --num-conns=3000 --timeout=5
> * The backends and the proxy server are xen virtual machines hosted on
> same physical node.
> ------------------------------------------------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try
> it now.
> <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

More information about the perlbal mailing list