HAProxy – The Reliable, High Performance TCP/HTTP Load Balancer
25 Aug2006

While I’ve been doing performance testing of different Ruby on Rails deployment schemes, I came across very interesting software – HAProxy.

HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high
availability environments. Indeed, it can :
– route HTTP requests depending on statically assigned cookies ;
– spread the load among several servers while assuring server persistence
through the use of HTTP cookies ;
– switch to backup servers in the event a main one fails ;
– accept connections to special ports dedicated to service monitoring ;
– stop accepting connections without breaking existing ones ;
– add/modify/delete HTTP headers both ways ;
– block requests matching a particular pattern ;

It needs very little resource. Its event-driven architecture allows it to easily
handle thousands of simultaneous connections on hundreds of instances without
risking the system’s stability.

As for me, I’m really impressed by HAProxy’s performance and I will suggest to try to use it in some high-availability environments because of its performance and set of features. Take a look at this software – it is really good tool!