Candela Technologies Logo
Network Testing and Emulation Solutions

ScriptHunt with Test Groups

Goal: Create a Test Group that uses ScriptHunt to maximize the total rate of multiple connections based on desired constraints.

ScriptHunt is a script that runs connections or 'iterates' and changes tx-rates until a maximum acceptable tx-rate is reached. This can be done for multiple payload sizes and attenuations. Using a Test Group along with ScriptHunt allows you to test multiple connections at the same time.

This cookbook assumes ports and connections are already created and configured. The following areas will be covered:

- Creating and Configuring Test Groups

- ScriptHunt setup

- Running ScriptHunt and checking results

- Using additional Test Groups for alternate tests

  1. It is a good idea to verify connections are running as expected before getting started. The connections below are testing UDP download on 10 wireless stations. screenshot
  2. Create and Configure Test Group(s).
    1. In the Test Group tab, click Create. screenshot
      1. Give the Test Group a Name. The name used here is 'scripthunt-group-01'
      2. Under Free CXs, shift-select the connections you want in the group and click Add Cx.
      3. Select the Config As Totals checkbox. This makes it so the tx-rate is based on a combination of all connections instead of individually.
      4. The Test Group must be created before setting up the script. Click Apply to create it.
    2. Click Script to open the Add/Modify Script window. screenshot
      1. In the Script Type drop-down menu, select ScriptHunt.
        Note: Most options will be left default for now (all but Run Duration and Payload Sizes A). Below are quick summaries of the drop-down options.
      2. Run Duration: Determines how long each iteration lasts. This should be about 15-20 seconds minimum. This test will use 20s.
      3. Pause Duration: Sets how long the script waits between each iteration.
      4. Starting Rate: Sets the first tx-rate the script attempts.
      5. Max Iterations: Allows you to choose a maximum amount of times you want the script to iterate as it adjusts the rate.
      6. Max Drop Percent: Determines the acceptable range of drops for an iteration. In this case if there are more than 5% drops, the current iteration will fail and the next will attempt to make adjustments so there are less drops.
      7. Max-Tx-Underrun: With the current setting of 10%, if the actual tx-rate is running 10% slower than the attempted tx-rate, the iteration will fail.
      8. Max Jitter: Determines the acceptable maximum jitter for an iteration.
      9. Max RT Latency: This determines the maxiumum acceptable round-trip latency for an iteration.
      10. Threshold: If the percent difference of tx-rate from iteration to iteration reaches the value here or less, the script will finish unless there are additional payloads/attenuations to test.
      11. ScriptHunt will find the highest acceptable rate for each payload size listed in Payload Sizes A and B. The existing values are suggestions, but any desired value(s) can be entered here. If you wish to test Payload Size B, the Symmetric checkbox must be enabled. Attenuations (ddB) are tested similarly, a Candela attenuator is required and must be connected then selected in the Attenuations drop-down menu. In this specific test, ScriptHunt will just test a payload of 1472 (on endpoint A only) and no attenuations.
      12. Click OK to add the script.
      13. Click OK in the Create/Modify Test Group window to close it.
  3. Start the Test Group and view the results.
    1. Select the Test Group and click Start. screenshot
    2. Examine the results.
      1. After each iteration completes, the results will update with various information on said iteration. screenshot
      2. When ScriptHunt finishes, the results will show a summary of all iterations. This data shows how high the rates reached and which failure constraints the iterations hit. This particular test reached about 429 Mbps tx-rate within the specified constraints. Notice how the configured rate (cfg-rate (bps) adjusts up and down as the drop percent (drop% peer) goes lower and higher than the 5% constraint set earlier. screenshot
  4. Create another Test Group with alternate ScriptHunt settings.
    1. We will essentially copy the last Test Group, then change ScriptHunt settings. Select 'scripthunt-group-01' and click Modify. screenshot
      1. Change the Test Group Name to 'scripthunt-group-02'.
      2. Click OK.
    2. Select scripthunt-group-02 and click Modify. screenshot
    3. Click Script. screenshot
      1. Set the Script Type to ScriptHunt.
      2. Again, Run Duration should be 15-20s minimum. It is set to 20s for this test.
      3. Since the only constraint limiting the first Test Group was Max Drop Percent, we'll raise it to 10% and compare the results.
      4. Remove all but 1472 in Payload Sizes A.
      5. Click OK.
      6. Click OK in the Create/Modify Test Group window.
    4. Be sure 'scripthunt-group-01' is stopped! If you have two different ScriptHunts running on the same connection(s), they will try to fight eachother.
    5. Select 'scripthunt-group-02' and click Start. screenshot
    6. Observe the results summary. screenshot
      1. Compare the two results final tx-bps. The first test group got 429 Mbps at 5% maximum drops. Because the second Test Group's ScriptHunt was set at 10% maximum drops, it was able to achieve a higher tx-bps of 444 Mbps.

Candela  Technologies, 2417 Main Street, Suite 201, Ferndale, WA 98248, USA | | +1.360.380.1618
Facebook | LinkedIn | Blog