jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alexk <>
Subject Correct configuration of JMeter for testing TPS allocated
Date Mon, 16 Jan 2017 13:26:40 GMT

I was given access to a web service API that implements a throttling 
policy per user account. Each account has an allocated TPS. In my case 
the allocated TPS is 80.

The problem is that for many requests that I make to the API I get: 
"HTTP Error 429 -- Too many requests try back in 1 second" even when I 
set my client's TPS to 50.

I am pretty confident about the throttling I am performing on my end 
(used both Thread sleep and Guava's RateLimiter to test) and when I 
brought this up with the API owner they asked me to test with JMeter as 
they have done and they have certified that their API correctly 
implements TPS allocation.

This is what I did. Testing from my production server's CLI with the 
configuration I have attached (http_req.jmx) I received again 429 errors.

The way I did the test is that I created a thread group with:

Number of threads: 10 (which is the number of threads my Java client's 
threadpool has configured)
Ramp-up Period: 10
Loop count: Forever

And a timer:

Constant Throughput Timer: 4800

They told me that they did the test in a different way:

Number of threads: 80
Ramp-up Period: 1
Loop count: 1

I believe that their approach is not the correct way to perform the test 
as it does only one time the request and for my case I face the issue 
after a while. However, given my very limited exposure to JMeter I am 
not confident enough about my claims and approach either.

Could someone confirm whether my approach is correct or indicate where I 
am wrong. Also I would really appreciate if someone could give a brief 
explanation to convey to the owner's testing team about any (if there 
are any) flaws in their approach of using JMeter testing.

Thank you in advance

View raw message