Hi, I was testing a Web service with SoapUI and it seemed not to scale at all. I was getting very worried (still am).
Then I introduced a delay step with a few seconds and watched what happened: It doesn’t matter how many threads I specify on LoadTest, soapUI is only sending a new request after the delay specified! What am I doing wrong?
I’m using the following test steps: - DataSource (to a file, shared and preload flags specified) (*) - Property Transfer - Delay (2500ms) - The Request to my web service - DataSourceLoop to “Property Transfer”
If I run the test for about 5 seconds with 10 threads (Stretegy: Simple, Test Delay: 0) I was expecting a total count of 10*(5/2.5)=20 requests but instead I have only 2!
What is happening? Thank you.
(*) Even with "shared: off" the threads don't start as expected.
hmm.. how many rows of data do you have in the file specified in the DataSource step?
If you have (for example) 10 rows and are running 10 threads with shared selected, the datasource will be shared between these 10 threads and each thread will most likely only execute 1 request. If you turn off shared, each thread creates its own datasource and should run 10 requests, to a total of 100 requests.
A side note:
When running LoadTests with shared datasources, it only really makes sense to have the run limit set to the same number of runs as threads, otherwise what can happen is that when a new thread/testcase starts the "second" time, it will create a new shared datasource which all running threads will share (also those that are still working on the "old" datasource).. this will probably give very confusing results..
Please let me know on the setup of your File DataSource and test results..
I have 1000 rows on the file so the first scenario doesn’t apply.
However I have set the test to 1 run. I thought it meant that the test should run only one time – this is, a full cycle over the text file input data – and that the run would be shared by N threads.
I’ll try setting the number of runs equal the number of threads.
However I cannot have more than 1 request using the same data. I wish to have exactly 1000 unique requests shared by N threads. Unfortunately I’m away today and I cannot test it until Monday. I cannot wait to do it…
ok.. that may explain the problem.. set the number of runs and threads to the same value, and make sure you have the "Shared" option selected in the DataSource editor, then you should get the behaviour you desire..