Sync Points

Sync points mean ‘meeting points. A Sync point creates intense user load on the server at a time to measure server performance under load.

For example, to test a bank server, the user could create a scenario that contains two Sync points as ‘Deposit’ and ‘Withdraw’. The first Sync point ensures that 1000 Vusers simultaneously deposit cash. The second Sync point ensures that another 1000 Vusers simultaneously withdraw cash. To measure how the server performs when only 500 Vusers deposit cash, the user can deactivate the withdraw Sync point, and instruct 500 Vusers to participate in the deposit Sync point only.

Modes

The user can apply Sync points in two modes:

  • Offline Mode (Using Scenario): The user can configure Sync points before start of a test from Scenario UI. Sync points can be applied either while creating a new scenario or on an existing scenario. These Sync points are also displayed in the online mode. The user can make changes in Sync points at run time, but those are not reflected in offline mode.
  • Online Mode: The user can add the Sync points at run time (i.e. while a test is running) and make the changes there only. Here, the user can add / delete a Sync point and can update its properties.

Release Policy

Sync point is released due to following reasons.

  • Release Target Vusers Arrive at the Sync Point: When target Vusers arrive at the Sync point, then they are released.
  • Overall Timeout: Maximum time allowed for each Sync point to reach the target after first Vuser has entered the system. If the Sync point is not released within the timeout period, then all the Vusers are released from the Sync point.
  • Inter User Arrival Timeout: Maximum time allowed between two Vusers arriving at a Sync point.
  • Manual Release: Immediate release for any Sync point at any state (by using the ‘Release’ button).
  • Multiple release policy: A set of Vusers are released at an absolute time in step mode, another set of Vusers will be released periodically with the same step mode (a + b).
  • Single release policy: Allows you to configure the percentage of Vusers to be released in a particular duration.

Configure Sync Points (Offline Mode)

A Sync point can be configured from Scenario UI:

  1. Go to Global Settings > Sync Points. This displays the Sync Point Settings window.

Figure: Offline Mode SyncPoint

2. Select the Enable SyncPoints Settings check box to enable the Sync point in the scenario and specify the values for timeout settings in HH:MM:SS format.

Add Sync Point

  1. Click Add in the SyncPoints section.

Figure: Adding Sync Points

2. In the Add Sync Point window, you can specify the SyncPoint and Advanced settings:

Figure: Add Sync Point Page

SyncPoint Settings

  • Enable SyncPoint at the start of the test: This field enables syncpoint at the start of a test.
  • Scenario Group: Name of the group where the Sync point is defined. It can be ALL or any user defined group name.
  • Vuser enter SyncPoint on start of: This field specifies the type of Sync point you want to create. It consists of the following options:
    • Page: Vuser enters the Sync point when the specified page starts.
    • Transaction: Vuser enters the Sync point when the specified transaction starts.
    • Script: Vuser enters the Sync point when the specified script starts.
    • API: The user can add a Sync point via custom API.
      • Syntax: ns_sync_point(Syncpoint name);
      • Example: ns_sync_point(“syncpoint”);
    • You can also select a transaction, Page, Script, or Sync point API..
  • Participating Vusers %: Percentage of Vusers to be participated for a specific Sync point. This percentage is calculated over the total number of Vusers in case of ALL groups. In case of specific group, it is calculated over the total number of Vusers specific to that group.
  • Release SyncPoint when: Specifies the number of Vusers that should reach a Sync point for releasing that Sync point. If the user wants to reach the Sync point for number of times, use the comma-separated list so that Sync point can be repeated. To repeat it indefinite times, use asterisk (*). However, * should be used only once and that too at the end.

Examples:

    • 100: This Sync point releases on reaching 100 Vusers. After this release, Sync point becomes inactive.
    • 100,200: This Sync point is release two times. First on reaching 100 Vusers and then on reaching 200 Vusers.
    • 200,300,*: This Sync point is released multiple times. First, on reaching 200 Vusers, second on reaching another 300 Vusers. Further, it gets released each time on reaching 300 Vusers until the test stops.

Advanced Settings

Figure: Advanced Setting-Sync Points

  • Do not release SyncPoint automatically: Enables you to release the sync point automatically or manually:
      • Manual release: If you select the Do not release SyncPoint automatically option, the Sync point is released forcefully from the Sync point window as per the requirements. You can change the release schedule or continue with the previous one. For example, applying ‘immediate’ as release schedule, you can select other options, such as ‘duration’, ‘rate’, or ‘In specified multi-step duration’ and release the Sync point accordingly.
      • Auto release: If you deselect the Do not release SyncPoint automatically option, the Sync point is released automatically based on the release type and release schedule.
  • Release SyncPoint: Specifies how the VUsers will be released. For example, either by Target Reached, on Absolute time, or on Relative time period. This is applicable for ‘Auto’ release only.
      • At Target VUsers: If the target VUsers (as mentioned in the ‘Release Target VUsers’ field) reached, the Sync point is released.
      • At Absolute Time: Define the absolute date (in mm/dd/yyyy format) and time (in hh:mm:ss format) at which the VUsers needs to be released. The absolute date and time should be greater than the current date and time. An option “VUsers will be released when either Absolute time has occurred or VUsers target is met” is displayed to allow releasing the VUsers on either completing the specified absolute time or reaching the targeted VUsers.
      • After duration: Provide the period (in HH:MM:SS format starting from the time as soon as first VUser reached to the Sync point). An option “VUsers will be released when either specified period is elapsed or VUsers target is met” is displayed to allow releasing the VUsers on either completing the specified period or reaching the targeted VUsers.
  • Release SyncPoint Vusers: Defines when the VUsers are released after they have reached their respective Sync point. The following options are available:
      • Immediate: Immediate release ofall the VUsers that reach Sync point.
      • Duration: Releases VUsers within the duration (in HH:MM:SS format) as specified by the user. For example – To release all the VUsers within 2 hours and 30 minutes, the user needs to mention duration as 02:30:00.    
      • Rate: Releases the VUsers at the specified rate of VUsers per minute. For example, If total VUsers are 120 and rate is defined as 20 users/minute, so total time require to release all VUsers is 6 minutes.
      • In specified multi-step duration: Releases the Vusers in the step mode. In this option:
        • Specify the duration and percentage values.
        • Specify the duration in the format HH:MM:SS. The percentage value will determine how many Vusers (based on Target Vusers) can released in the given duration.
        • You can specify multiple values for the option In specified multi-step duration field. Click the icon to add a new row for specifying the duration and percentage, as shown below:

Figure: Multi Step Duration

        • Sum of total percentage should be equal to 100. If the percentage is not hundred, the remaining percentage would be added in the last step percentage value and the remaining Vusers will be released in last step.
  • Script(s) part of SyncPoint: It displays all the scripts that are part of a Sync point. For example, if the user has specified Sync point for ALL on the start of a script and there are four scripts then on selecting ALL, all four scripts are displayed.

3. After specifying the required configuration, click Save to add the Sync point.

Figure: Sync Point Added

Note:

Apart from this, the user can delete and update a Sync point by using the Delete and Update button respectively

Manage Sync Points (Online Mode)

Once the test is started, the user can manage the Sync points from Actions > Sync Point.

Cases:

  1. Sync point neither enabled nor configured from Scenario UI.

Figure: Sync Point Not enabled

2. Sync point enabled but not configured from Scenario UI.

Figure: Sync point not configured

  1. Sync point configured but history not available.

Figure: Sync History available

4. Sync point configured and history is available.

Figure: Sync Point Summary

This window displays the following details:

Top bar displays the test run number, start time of the test, duration, and scenario name, and auto refresh. Auto refresh is based on the progress interval.

Sync Point Summary displays all the configured Sync points. The user can add, update, delete, release, and activate/deactivate a Sync point.

Sync Point History displays the history of Sync point applied on a group.

Sync Point Summary

This section displays the summarized view of the implemented Sync points in a tabular format with the fields as defined in Add Sync Point section.

In addition, there are following fields:

  • Status:
    • – Activated Sync point
    • – Deactivated Sync point
    • – Sync point in Progress [All action buttons are disabled for Sync point with this status]
  • Current Vusers: Number of Vusers that are currently in Sync point.
  • Release Count: Number of times a release is done for Sync point
  • Last Release Time: This is relative to test run start time in HH:MM:SS format.
  • Last Release Reason: Reason for last release of Sync point. If release is happened multiple times, the reason gets overwrite each time and it displays the latest one. There can be four reasons:
    • Target Reached
    • Period Completed
    • Absolute Time Completed

Sync Point Actions

Icon

Description

To add a Sync point

To update the Sync point

   

To delete the Sync point

To release the Sync point

To deactivate the Sync point

To activate the Sync point

To view the scripts of the Sync point

Note: Once the test is stopped, these action buttons are not available to perform any action. The user can only see the Sync point history by selecting a Sync point.

Add Sync Point

  1. Click the button on the Sync Point Summary header.
  2. Provide the same details as mentioned in the Add Sync Point section (explained earlier).

Figure: Add Sync Point

Update Sync Point

To make any run-time changes in Sync Point configuration, use this option. Click the  button and update the required configurations.

Figure: Update Sync Point Configuration

Note: The user cannot update the following details – Group Name, Type, Name, and Scripts.

Delete Sync Point

Click the  button, the user is prompted for the confirmation of delete operation for the Sync point. Click Yes to delete else click No. The user can delete only those Sync Points where the current number of VUsers and release count is zero.

Figure: Confirm Sync Point

Release Sync Point

The user can release a Sync point by clicking the  button. Apart from releasing a Sync point with ‘Manual’ mode, the user can also release the one with ‘Auto’ mode. The user can release only those Sync Points whose current VUser is greater than zero.   

Releasing Sync point with ‘Manual’ Mode

The user is prompted to provide the Release Schedule for releasing the Sync point.

Figure: Release Sync Point

Releasing Sync point with ‘Auto’ Mode

The user can forcefully release the Sync point in ‘Auto’ mode before the release type.

Figure: Release confirmation Sync Point

Deactivate Sync Point

The activated Sync point is displayed with the  button. Clicking it deactivates the Sync point and the button is changed to .

Activate Sync Point

The deactivated Sync point is displayed with the  button. Clicking it activates the Sync point and the button is changed to .

View Script

Hover the mouse at the  button to view the script name used in the Sync point.

Sync Point History

A user can view the history of a Sync point by selecting it from the Sync Point(s) Summary table. It displays elapsed time, absolute time, and event description.

  • Elapsed time: Elapsed time is simply the amount of time that passes from the beginning of an event to its end. For example, 00:00:02, 00:00:07, and so on.
  • Absolute Time: Absolute time is simply the actual time of the occurrence of the event. For example, 09/04/19 22:25:27, 09/04/19 22:25:32, and so on. The format of absolute time is: MM/DD/YY HH:MM:SS.
  • Event Description: Events get generated on every user arrival and on every Sync point release. Only one event for user arrival is logged within 10 seconds. All events for Sync points release are logged in the system and are displayed on the Sync Point History table.

Figure: Sync Point History

Events

Event

Example

Adding Vuser to Sync point

Adding Vuser 1 to SyncPoint. Scenario Group = G1, Participating Vusers = 100%, Release Target Vusers = 10.

Releasing SyncPoint due to release target reached

Releasing SyncPoint due to release target reached. Scenario Group = G1, Participating Vusers = 100%, Release Target Vusers = 10.

Releasing SyncPoint due to overall timeout reached

Releasing SyncPoint due to overall timeout of 00:10:00 (HH:MM:SS) target reached. Scenario Group = G1, Participating Vusers = 100%, Release Target Vusers = 10.

Releasing SyncPoint due to inter Vuser arrival timeout reached

Releasing SyncPoint due to inter Vuser arrival timeout of 00:01:00 (HH:MM:SS) target reached. Scenario Group = G1, Participating Vusers = 100%, Release Target Vusers = 10.

Manual Release

Releasing SyncPoint on request from user ‘cavisson’. Scenario Group = G1, Participating Vusers = 100%, Release Target Vusers = 10.

View Sync Point Metrics

The user can view the Sync point metrics in the Web Dashboard:

Figure: Sync Point Vusers