Performance, Load & Stress
From DevRiot for .Net and Java
This is a simple tab. It contains three widgets: "Intra-Thread Repetitions" field, "Time To Live" field, and a list of the rest of the tests in the queue. Let's explain "Time To Live" first, the list second, and "Intra-Thread Repetitions" last.
"Time To Live" Field and List
"Time To Live" (TTL), as the name implies, watches how much time it takes an "attack" to complete. If the "attack" exceeds this time, although it will not stop the excetion, it will report a failure. TTL can be used in single-thread mode too. This allows the user to measure the basic behavior/cost (in ticks) of a M.U.T before escalating the load/stress on it.
The check list below TTL allows the user to pick and choose which elements in the queue will participate in the "attack". By right-clicking on it the user will be able make batch selections/eliminations.
At this point some issues need clarification. RIOT follows the following sequence when it comes to execution: sets the state of T.U.T before anything else. Then comes verifying the expected outputs: first it verifies the return value if required. Second it verifies the expected exception, if required, and its message if available. Third it verifies the state of the T.U.T ("Post-State" tab). Last it verifies any ref or out parameters that need so.
In an thread "attack" the only pre-state and post-state code that is compiled are those of the test being created. The tests picked through the list will only verify their expected return and out/ref parameters.
"Intra-Thread Repetitions" Field
Threads can be expensive computing resources, so the goal of this field to squeeze the most out of each thread. The widget's default value is one. If we wanted to increase the number of times the M.U.T is attacked, we would change this field accordingly. RIOT will generate the code accordingly.
Emergency TTL, MaxUsers
Emergency TTL is the measure of last resort when threads go wild. It is not always engaged (it becomes active only if its tab is used). Emergency TTL value can be adjusted by changing the appropriate registry value (image below). MaxUsers is another registry value that limits the maximum number of threads available to RIOT engine (image below)
There is a demo(swf format) that shows the majority of the topics described here. Just follow this link