Threads

1. Thread cap

In SoapUI, there’s a cap on the number of simultaneous threads that can be created by the test runners, set to 200 by default. This might cause some problems if you are doing something that requires a large number of threads, for instance a very heavy load test.

If you aren’t getting as many threads as you are requesting, try increasing the thread pool cap. This cannot be done from inside SoapUI, but must done by changing options in files.

Note: Which file to change depends on how you want to run the test, from GUI or from a batch (.bat/.sh) file. When starting from GUI, options are read from .vmoptions. When starting from batch file, options are read from JAVA_OPTS in the batch file.

You can also take your performance testing to the next level by using ReadyAPI. With this tool you can load test with unlimited virtual users, distribute your load testing on local and cloud instances, monitor your server resources as your API is put under varying loads, automate your tests with just a few clicks and create performance tests quickly with pre-configured load templates.


Download ReadyAPI and Start Performance Testing


1.1. Increase thread cap - GUI

You can do this by editing the SoapUI -[version].vmoptions file. The .vmoptions file is located in your installation folder, inside the /bin folder, and is named according to version, for example SoapUI-Pro-5.0.0.vmoptions

The /bin folder

Add the line

-Dsoapui.threadpool.max=300

at the bottom of the file.

The .vmoptions file

1.2. Increase thread cap - Batch file

The testrunner file (testrunner.bat or testrunner.sh) is located in your installation folder, inside the /bin folder.

The /bin folder

Add the line

-Dsoapui.threadpool.max=300

at the end of the JAVA_OPTS section

Example testrunner.bat file

1.3. Automated Load Tests

When doing automated load tests, the changes to JAVA_OPTS need to be done in the The loadtestrunner file (loadtestrunner.bat or loadtestrunner.sh) is located in your installation folder, inside the /bin folder.

The /bin folder

Add the line

-Dsoapui.threadpool.max=300

at the end of the JAVA_OPTS section

Example loadtestrunner.bat file