Viability of nginx instead of hardware load balancer?

David Murphy david at icewatermedia.com
Tue Sep 22 00:00:33 MSD 2009


Once again Gena you missed my point by a landslide.  WRT/DSL  were to show
proof it could be  done and very low end   hardware, you could always get
better hardware. Furthermore you fail-over logic is flawed, if done proper
you can prevent the failure pages to the end user. However  the point  was
not   what the  best solution in  a case would be but the overall viability
.  I  was simply  shows a very basic  approach improvements could be made. 

You thought process of expecting it to be a fully planned out  system, is
asking Alexander Gram-Bell  how a  cell phone  tower would work, not  could
it be possible in the future to have phones without wires, if such a
technology could be made?


However I digress this topic is dead at this point the user has been  shown
several different ways where  using nginx vs a hardware platform could be
done. Its not his job to plan and test it for his needs.  Theory over
practice and all that.


-----Original Message-----
From: owner-nginx at sysoev.ru [mailto:owner-nginx at sysoev.ru] On Behalf Of Gena
Makhomed
Sent: Monday, September 21, 2009 5:50 AM
To: David Murphy
Subject: Re: Viability of nginx instead of hardware load balancer?

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 
DM> balancer really you only needs high quality network devices, a 
DM> minimalistic kernel (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 but as 
DM> 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 
DM> if you configured things properly you would have a  hot spare device  
DM> to prevent any such lag. I find that  buying a single  piece of 
DM> hardware vs building out a redundant infrastructure a) costs more 
DM> money and b) actually have a higher chance of failure due to a 
DM> 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 
DM> share out of the  load so  you could have 3 LB's  all getting one  
DM> 1/3 of all requests and hitting the same  backends.  Then if one 
DM> drops off the switch just downs 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 
DM> investment, when you can build  it yourself for much cheaper with 
DM> the same of better 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.

--
Best regards,
 Gena







More information about the nginx mailing list