Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

JMeter and Amazon

Elastic Load Balancer (ELB) Issues

  • The ELB is a name, not IP, and suffers from DNS caching. Make sure you use "-Dsun.net.inetaddr.ttl=0" when starting JMeter
  • For a given ELB IP, there seems to be a static mapping of client IP <-> backend instance. This is a slightly complicated statement that assumes a some knowledge of how amazon in general, and ELBs in particular, work. If it's still up, this page http://www.shlomoswidler.com/2009/07/elastic-in-elastic-load-balancing-elb.html has pretty much everything you need to know. But the basic idea is that the ELB is supposed to balance the inbound traffic to the currently known & healthy backend instances (e.g. the boxes you actually control). At any given time, the ELB DNS name resolves to a pool of ELB IP addresses (which grows or shrinks based on load). The TTL on an ELB name (which is owned & controlled by amazon, e.g. loadbalancer123.amazon.com) is 60 seconds. And again, in practice I've found the load balancing to be per client/ELB IP, rather than per request.
    *Specifically, the behavior I've seen in JMeter is:
    *I start a test that generates a small amount of load forever
    *I check backend instances, and all load in on one box
    *On the JMeter box, I run "dig mydomain.com" and watch the TTL count down from 60 to 0
    *If the ELB IP changes, all load moves to a different backend instance (and if the ELB IP stays the same, it stays in the same place
  • No labels