Forum Discussion

i262666's avatar
15 years ago

Controlling the workload of execution

Let's consider a very simple setting for the soapUI utility.
Number of threads = 1
Strategy = Simple
No delays
Limit = 1
Total Runs = 1
The test case in the project consists of 100 steps (each step is a different claim that should be processed). So, overall, if Total Run is set to 1, then the utility will execute 100 claims. With setting Treads = 1 this is a sequential execution of each claim by a single threads. And it works like that.

Now, let us increase the number of Threads to 2 (Treads = 2). The Total Runs is still = 1. That means that the same 100 claims should be executed, however they will be executed by 2 threads, meaning that each thread will process about 50 claims (more or less).

However , the utility does not like this setting when the number of Total Runs is less that the number of threads. It issues a warning and if click OK, it runs but it changes the number of threads back 1. Why?

If the whole case consists of one claim, it make sense. Two threads cannot execute a singe claim. But when the whole test consiste of many claims, it does not make any sense.

I understand that it is possible to switch to Runs Per Thread limit, but that would require running each new test with different load volume when running many tests and gradually increasing the number of threads (to find where the system breaks). 

Thanks for your help

1 Reply

  • I'm sure this isn't helpful, but adding a 2nd thread is interpreted as doing all 100 claims twice. 

    It doesn't try to split the test steps, as many test cases don't support that sort of behavior (must be processed in order).