0
votes

I am trying to achieve goal of 3 TPS using all my threads. I used Constant Throughput Timer but somehow it doesn't provide constant TPS. It does go beyond 3 TPS like sometime 10TPS.


Test Scenario

Thread Group 1

  • This Thread group submit XML on server and check the status.
  • I put constant Timer under this Submit Quote action and set value as 3 per min.
  • After each Quote Submit i will perform some action.

Thread Group 2

  • This Thread group submit XML on Server and check the status as like first Thread group but the rest action are different than first.
  • I put constant Timer under this Submit Quote action and set value as 3 per min.

Thread Group 2

  • This Thread group submit XML on Server and check the status as like first & Second Thread group but the rest action are different than first & Second.
  • I put constant Timer under this Submit Quote action and set value as 3 per min.

I need 3 TPS from all these Thread Groups for Submit Quote step, i am able to achieve that somewhat but it's not constant. enter image description here

Can some please help to manage TPS?

Below is the Graph you can see some high transactions: enter image description here

2
do you want 3 tps per thread group or for all threads of all thread groups ?UBIK LOAD PACK
I just want that Submit Quote to be Run at 3TPS, All 3 thread group have that scenario and I tried both the ways 1st Timer under test plan and second individual timer like shown in my screenshot for each thread group.Akshay
Looks like no solution for this, i am still waiting on answer. I used alternative solution but now its giving me trouble again.Akshay

2 Answers

0
votes

CTT will give you "constant" throughput after some time, not in such reduced time as your test shows.

The peak you see come from variation of your server response time.

Maybe you can try this method:

Configure thread group :

  • Loop count = 1

  • Ramp up period = time of your test (3600 seconds for my example)

  • Delay Thread creation until needed = true

  • Scheduler duration = 3600 seconds

  • Scheduler startup delay = 0

  • if you run for 1 hour, to achieve 3 Trans per minute, set number of threads to 180.

0
votes

I am able to manager this up to some extend by separating actions in to multiple threads. In my earlier example in Thread 1 i was performing some action which impacted CTT. To resolve issue, i am using Queue concept. enter image description here

  • First separate your thread's, if any action in your takes time move them to separate thread. In below example actions QuoteStatus and further were part of my thread 1 and due to slow response from server it was not allowing me CTT.

enter image description here

If you look at above response time from Thread one its pretty constant, having multiple actions is one thread cause issues. If your goal is to put constant throughput, it would be good to keep one action each thread and then use Inter_Thread Communication to pass data in other threads.