You donβt say how many instances of jmeter you are using, but in my experience it should be about twice the number of AZ that you are scaling. Even then, you are likely to see unbalanced loads - it is very unusual to see that the scale scales exactly in your rear fleet.
You can help (a bit) by running jmeter instances in different regions.
Another factor is the duration of your test. ELB takes some time to scale - you can generally tell how many instances work by doing nslookup against the ELB name. Understand your scaling patterns and create tests around them. (So ββif you want to add another instance to the ELB pool, enable a 25-30 minute warm-up test). You also get AWS to βpreheatβ the ELB pool, if necessary.
If your ELB pool size is sufficient for your test and can verify that the pool does not change during the test run, you can always try to run the tests directly against the ELB IP addresses, i.e. manually balance traffic.
I'm not sure what you expect from the second level of calls - if you open the connection and reuse it, it is obvious that there is no way to scale all instances without closing and reopening the connection. Do these calls work on the same set of servers or in a different set? You can create an internal ELB and use this endpoint to connect, but I'm not sure if this will help in the scenario you described.
chris source share