You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by William Oberman <ob...@gmail.com> on 2010/04/20 22:12:13 UTC

jmeter + amazon ec2 + load balancing (elb)

Hi all,

In case someone else is trying to use Jmeter to test their web environment
in amazon's ec2 using the default load balancer (ELB), I've painfully
learned some lessons I'd like to pass on in a consolidated form:
1.) The ELB is a name, not IP, and suffers from caching.  Make sure you use
"-Dsun.net.inetaddr.ttl=0" when starting JMeter
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:
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)

will

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by chaitanya bhatt <bh...@gmail.com>.
Or using a IP spoofing tool at the client side should server the purpose
during load tests.

-Chaitanya M Bhatt

On Wed, Apr 21, 2010 at 6:07 PM, William Oberman <ob...@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 <se...@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 <br...@gmail.com> wrote:
> > > Hi William,
> > >
> > >  Thanks for the feedback. Have 1 question:
> > >
> > >
> > >  On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <ob...@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
> >
> >
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by chaitanya bhatt <bh...@gmail.com>.
It's very kind of you to share this information. Thanks a ton!

Chaitanya M Bhatt
http://www.performancecompetence.com

On Mon, Apr 26, 2010 at 11:18 PM, William Oberman <ob...@gmail.com> wrote:

> 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 <br...@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 <ob...@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 <ob...@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 <se...@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 <br...@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
> > > >>
> > > >>
> > > >
> > >
> >
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by William Oberman <ob...@gmail.com>.
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 <br...@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 <ob...@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 <ob...@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 <se...@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 <br...@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
> > >>
> > >>
> > >
> >
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by Brett Cave <br...@gmail.com>.
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 <ob...@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 <ob...@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 <se...@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 <br...@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
> >>
> >>
> >
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by William Oberman <ob...@gmail.com>.
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 <ob...@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 <se...@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 <br...@gmail.com> wrote:
>> > Hi William,
>> >
>> >  Thanks for the feedback. Have 1 question:
>> >
>> >
>> >  On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <ob...@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
>>
>>
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by William Oberman <ob...@gmail.com>.
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 <se...@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 <br...@gmail.com> wrote:
> > Hi William,
> >
> >  Thanks for the feedback. Have 1 question:
> >
> >
> >  On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <ob...@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
>
>

Re: jmeter + amazon ec2 + load balancing (elb)

Posted by sebb <se...@gmail.com>.
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 <br...@gmail.com> wrote:
> Hi William,
>
>  Thanks for the feedback. Have 1 question:
>
>
>  On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <ob...@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


Re: jmeter + amazon ec2 + load balancing (elb)

Posted by Brett Cave <br...@gmail.com>.
Hi William,

Thanks for the feedback. Have 1 question:

On Tue, Apr 20, 2010 at 10:12 PM, William Oberman <ob...@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.