Florin Andrei пишет:
Sergej Kandyla wrote:
apache is good as backend server for dynamic applications. You could use something like nginx, haproxy as frontend for balancing multiple backend servers. I'm using nginx. This light web server could serve many thousand concurrent connections! It works great!
In addition to the user-space solutions mentioned above, there are also kernel-level solutions, such as Linux Virtual Server, or LVS:
IMHO it's not right compare light web server with Virtual servers.
Look at http://www.linuxvirtualserver.org/whatis.html In this scheme you could naturally use nginx as loadbalancer on the Load Balancer Linux Box.
Also "The mission of the project is to build a high-performance and highly available server for Linux using clustering http://en.wikipedia.org/wiki/Computer_cluster technology, which provides good scalability, reliability and serviceability."
If you need high-availability you could also use XEN\KVM or OpenVZ. These technologies are actively developing... XEN\KVM are supported natively in the RHEL\Centos kernel. I'm prefer OpenVZ as light-weight virtualization. http://wiki.openvz.org/HA_cluster_with_DRBD_and_Heartbeat
I am under the impression that, speaking in general, user-space balancers provide more features (are smarter), while the kernel-space ones are faster (provide more in terms of raw speed and max load). I could be wrong.
Can anybody provide a performance comparison between, say, nginx and LVS? (max connections, max new connections rate, max bandwidth, max packets per second, etc.)