jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William Oberman <ober...@gmail.com>
Subject Re: jmeter + amazon ec2 + load balancing (elb)
Date Mon, 26 Apr 2010 17:48:08 GMT
Someone from amazon cleared up some of my confusion about amazon's load
balancers (see the thread:
https://developer.amazonwebservices.com/connect/message.jspa?messageID=175221#175221).
 I updated the wiki, but to close the loop here:

The key facts:
-An ELB is associated with 1 to many availability zones (amazon's way of
segmenting their resources)
-An ELB is backed by a pool of load balancer instances
-Each ELB instance is associated with a single availability zone
-Each ELB instance evenly distributes the load in the associated zone
-There is a certain amount of "stickiness" for client <-> ELB instance
(specifically in the TTL window of the ELB DNS name, which
amazon controls and has set for 60 seconds)

Thus, for something like JMeter, which generates a lot of load from a small
number of client IP addresses, there are two solutions for getting even
load:
  1.) Making sure all availability zones can handle 100% of the load (this
might be expensive)
  2.) Only use one availability zone

I'm opting for the latter, and it works like a charm.

will

On Wed, Apr 21, 2010 at 2:41 PM, Brett Cave <brettcave@gmail.com> wrote:

> Thanks Will, checking it out now. Mine is on
>
> http://developer.amazonwebservices.com/connect/thread.jspa?threadID=45411&tstart=0
> ,
> where some viable solutions are being discussed.
>
> on our internal network, we used IPVS (userspace tool = ipvsadm) with
> ldirector. This has a number of schedulers for use with connection
> distribution. Read up on how to configure it (I would recommend using the
> SED scheduler with IPIP mode of redirection (not gate or masq). This will
> quite effectively give you equally distributed round-robin connections.
> Just
> ran a quick JMeter test against a HA IP address backed with ipvs +
> ldirector
> and works just the way you're looking for.
>
> On Wed, Apr 21, 2010 at 2:42 PM, William Oberman <oberman@gmail.com>
> wrote:
>
> > Brett: just so you know, I started a thread over in AWS's forums on this
> > issue:
> >
> >
> https://developer.amazonwebservices.com/connect/message.jspa?messageID=175221#175221
> > No one has responded yet.  If anything comes up, I'll reply here (and add
> > to
> > the wiki).
> >
> > will
> >
> > On Wed, Apr 21, 2010 at 8:37 AM, William Oberman <oberman@gmail.com>
> > wrote:
> >
> > > Brett: yes, I saw amazon recently added two levels of stickiness (load
> > > balancer, and application).  I have both disabled.  I was referring to
> > TCP
> > > stickiness, though my only attempt to test it was using HTTP over TCP.
> >  I've
> > > mentally ruled out the new stickiness feature as the problem because I
> > don't
> > > get a consistent backend using different load balancer IPs from the
> pool
> > > (and, I'd assume that true stickiness would be global).  But I did get
> > > stickiness on a per-load balancer IP basis.  Even though my evidence is
> > all
> > > observation based, I'm in 100% agreement with "According to user
> reports
> > in
> > > other forum posts, clients from a single IP address will tend to be
> > > connected to the same back-end instance.".  This is due to the fact
> that
> > at
> > > the exact moment my DNS resolved to a new LB from the pool, all
> > connections
> > > switched to a new backend instance every single time.  All I want (and
> > need)
> > > is "anti-stickiness" at all levels, including on a individual load
> > balancer
> > > basis....  If there is no real solution, I'm left with switching
> > providers,
> > > or installing my own load balancer (HAProxy, nginx are early hits on
> load
> > > balancer + ec2, and I've configured HAProxy before).  On a different
> > note,
> > > you mentioned you're doing HTTPS (which is load balanced at the TCP
> > level).
> > >  As a FYI, you do know amazon isn't doing SSL termination, so you
> _can't_
> > do
> > > proper sticky load balancing, and you'll lose the client IP address.
> > >
> > > Sebb: I'm fairly new to using Jmeter, but I'd be happy to try and
> figure
> > > out where in the wiki to add this information.  The page on processing
> > > results was very helpful for me.
> > >
> > >  will
> > >
> > >
> > >
> > > On Wed, Apr 21, 2010 at 6:11 AM, sebb <sebbaz@gmail.com> wrote:
> > >
> > >> May I suggest that the findings are added to the JMeter Wiki?
> > >>
> > >> This will make it easier to find, update and refer to later.
> > >>
> > >> On 21/04/2010, Brett Cave <brettcave@gmail.com> wrote:
> > >> > Hi William,
> > >> >
> > >> >  Thanks for the feedback. Have 1 question:
> > >> >
> > >> >
> > >> >  On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <
> oberman@gmail.com
> > >
> > >> wrote:
> > >> >
> > >> >  >
> > >> >  > 2.) 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:
> > >> >  >
> > >> >
> > >> >
> > >> > Are you referring to HTTP stickiness here, or did you find that
> client
> > >> IP
> > >> >  <-> backend instance is mapped for TCP connections too? (have
been
> > >> >  discussing this on the forums, and not getting an answer to this).
> On
> > >> the
> > >> >  7th of April, Amazon introduced sticky HTTP sessions on ELB (check
> > the
> > >> >  sticky forum post for more info -
> > >> >  http://developer.amazonwebservices.com/connect/ann.jspa?annID=646
> ).
> > >> This
> > >> >  should result in each thread in a jmeter test plan going through
to
> > the
> > >> same
> > >> >  node if you have a cookie manager. Then again, if there is indeed
a
> > >> static
> > >> >  mapping of client IP to instance, you would need to use multiple
> > >> instances
> > >> >  of jmeter-server with a central controller to effectively test load
> > >> >  balancing
> > >> >
> > >> >  One of the responses to my post contained the link below, which
> > states
> > >> >  "According to user reports in other forum posts, clients from a
> > single
> > >> IP
> > >> >  address will tend to be connected to the same back-end instance."
> but
> > i
> > >> was
> > >> >  wondering if you have been able to verify this? Our scenario is
> > greatly
> > >> >  affected by this characteristic of ELB, as our entire web app is
> > >> >  HTTPS-based.
> > >> >
> > >> >
> > >> >
> > >> >  >
> > >> >  >
> > >>
> >
> http://www.shlomoswidler.com/2009/07/elastic-in-elastic-load-balancing-elb.html
> > >> >  > has pretty much everything you need to know.
> > >> >
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > >> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> > >>
> > >>
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message