One of the hidden gems, that you will find inside all Suite applications, is a feature know as Escapemode. In essence, Escapemode is like the command mode feature in games like Doom and Quake. When you press the ESC
key, you will be presented with a drop-down console where you can type various commands. One of these commands allows you to reconfigure the default concurrency
level in order to speed up testing.
Concurrency Levels In Essence
The concurrency level is the amount of simultaneous requests the tool will perform at any given time. The default value is set to 20 meaning that only 20 HTTP requests will be fetched simultaneously. This value is specifically chosen in order to avoid putting too much load on the targeted application. In some instances, for example when we perform fuzzing, we may want to increase that number in order to get fast turnaround. This is especially important when we have large fuzz-sets with a lot of combinations. In order to change the concurrency level you simply need to type the following command:
concurrency 100
... which will set the level to 100 concurrent requests. Retrieving the current concurrency level is equally easy. You only need to type concurrency
without any parameters. This command can be even invoked while the test is in progress.
A Word Of Caution
Although it is trivial to increase the amount of concurrent requests a tool can do, you need to be aware of its limitations. Simply put, if an application cannot cope with the load, requests may get dropped or even go into timeout. Although, our testing engine can handle gracefully these circumstances, conditions may occur when a set of requests may not get served normally and as a result the outcome of the test may not be complete. This is why we recommend to repeat the test, sometimes even under different concurrency levels, in order to ensure that you get accurate results.