1
votes

I have a test plan in JMeter that tests a memSQL db, which seems to be running each thread only once, instead of running forever.

  • It has 3 thread groups.
  • Each has its own JDBC request element (1 for a delete, 1 for an insert, 1 for a select).
  • I want all of the requests to read parameters from a csv file. I tried my test with 1 CSV data set config element for the whole test plan (with share mode set to all active threads), and 1 for each of the thread groups (with mode set to current thread group).
  • The JDBC request elements for deleting and inserting have the prepared update statement set for the Query Type attribute.
  • The one request element for select has the prepared select statement value set for that field.
  • In all cases I tried, the CSV Data Set Config attributes have been set to: Recycle on EOF - True, Stop thread on EOF - false.
  • I'm using a constant Throughput Timer element for the whole test plan. It is set to All active thread (shared) for the based on attribute.
  • Like mentioned in the title - each thread group has the loop count forever box ticked. NO scheduler is used and on error the continue button is selected (although there aren't any).
  • In the summary report I get no java exceptions from the db. Only the query output and latency times.

As said, I have tried 1 csv source file for all thread groups. Now I created 3 different csv files and the problem persists. I have tried setting all threads ramp up time for 0, 0.1, 1, 2 and still no luck.

After looking in the summary report I created, I always see the same number of sampels. I have 3 thread groups, each with 80 threads, so I always get 240 samepls. Even if the test lasted for 1, 2, 3 minutes and etc. I tried ending the test with a shutdown, and a stoptest and with both I got the same number.

I want the threads to just keep going, it seems like they do the job only once and then just stop while the test goes on. Does this anything to do with the constant throughput timer? What am I missing here?

1
Can you show Constant Throughput Timer configuration ?UBIK LOAD PACK
@UBIKLOADPACK You are correct in your request. I have just discovered the problem. It was with the requests per minute in the timer config. I will post my mistake and solution here soon.Nexaspx

1 Answers

2
votes

TL;DR

It seems that all the configurations were correct, but the actual number of requests in the constant throughput timer was too low. Also, JMeter tries to set the throughput per minute, so tests should be longer then 1 or 2 minutes with that timer.

Very silly mistake with a conclusion: Check your throughput value, test for longer periods. Hope this helps anyone else.

The reason was, that in the server running the non gui version of jmeter I created a shell script to take a number of requests per second wanted for the current test, and insert it into the plan times 60 for the appropriate field in the timer element. Thing is I didn't multiply by 60 and so the throughput was very low. So low that for tests a few minutes long I always got the same sample count.

If I were to test for longer times I would have seen that more samples are created, but because jmeter delayed threads to simulate a low throughput, I only saw the first iteration.