Viability of nginx instead of hardware load balancer?
gmm at csdoc.com
Mon Sep 21 14:49:50 MSD 2009
On Thursday, September 17, 2009 at 17:05:28, David Murphy wrote:
DM> If your load balancer is not doing anything but being a load balancer
DM> really you only needs high quality network devices, a minimalistic kernel
DM> (to prevent security holes) and ram based os or fast HD.
WRT-54G has very limited amount of memory - 8 MB, 16MB or 32MB.
this is not proper hardware for high traffic http load balancer,
you can test it independently if not believe my humble opinion.
DM> I would agree you need better hardware if you are doing more
DM> but as a pure LB, hardware requirements and not a strict as you are implying.
even pure http LB need a quite lot of RAM
for tcp buffers and states of connections.
DM> Furthermore you need to get past this concept of "failures" because if you
DM> configured things properly you would have a hot spare device to prevent
DM> any such lag. I find that buying a single piece of hardware vs building
DM> out a redundant infrastructure a) costs more money and b) actually have a
DM> higher chance of failure due to a Single Point of Failure
lags/overloads - because of low performance of very cheap hardware (slow CPU/not enough RAM).
failures - because of low reliability of very cheap hardware (obsolete equipment).
DM> Also you have the ability via networking to run a true balanced share out
DM> of the load so you could have 3 LB's all getting one 1/3 of all requests
DM> and hitting the same backends. Then if one drops off the switch just downs
DM> the port and 1/2 goes to each of the remaining LB nodes.
in case of persistent failure - yes, one drops off
all active tcp connections at that moment and go down.
even persistent failure dont have zero cost - it generates
temporary denial of service for all clients of these connections.
but, for exampe, in case of broken memory chips - failed LB not go down,
and continue to "work", generating broken ip packets or reboots/kernel panics.
DM> Your belief you must buy hardware is just a waste of capital investment,
DM> when you can build it yourself for much cheaper with the same of better
DM> hardware than buying something from a vendor.
I belief what WRT-54G is not appropriate hardware for load balancer
and DSL (2.4 kernel) DSL-N (development version) is not appropriate
base OS for load balancer, even if using high quality nginx server.
I belief need to be minimized not cost of some piece of hardware,
but minimize TCO of solution, if all QoS requirements satisfacted
and scaling of any part of system provided.
More information about the nginx