Other Settings
Apart from global and group based settings, there are further other settings in Scenario that are listed below:
- Monitors
- Server Mapping
- Real Browser User
- SMTP Settings
- User Profile
- Java Settings
- Health Check Settings
- NetDiagnostics Settings
Monitors
Monitors are special programs that are used to get Server data, Logs, and to check server status. Monitors can generate data and events. User can FTP files from server to NetStorm machine.
Click the Monitors section on Scenario Setting window, the Monitors window is displayed.
There are following sections under this:
Enable Hierarchical view in Dashboard: To enable hierarchical view of files in dashboard, select this checkbox and select the topology name, along with vector separator.
Enable NetStorm monitors except: Here, a drop-down list of monitors is displayed along with check boxes. This checkbox is used to enable/disable some Linux based monitors on NSAppliance/NDAppliance. If user selects checkbox of a particular monitor, that monitor is disabled. User can disable all the listed monitors at once, and can search for a monitor too.
- SystemStatsExtended
- TcpStats
- TcpStatesCount
- UpTime
- SockStats
- MPStats
- DiskStats
- DeviceStats
- LPS
- CMON
Enable NetOcean monitors except following: This checkbox is used to enable/disable some Linux based monitors on NOAppliance. If user selects only this checkbox, below listed monitors are enabled by default.
- SystemStatsExtended
- TcpStats
- TcpStatesCount
- UpTime
- SockStats
- MPStats
- DiskStats
- HPDAllServicesStats
- CMON
User has to specify the Server host/IP in the NetOcean Server Name list.
Log Processing System (LPS): This option is used to enable the LPS for log monitoring. If user enabled this option, then needs to give the LPS IP and LPS port. The default LPS IP is 127.0.0.1 and port is 7892.
Scenario Associated Monitor Group(s): This section is used to add desired monitor profile in scenario.
Batch Jobs
There are following sections under this:
Scenario Associated Batch Job Group(s): Select the Scenario associated batch job group from the list.
Advanced Settings
There are following sections under this:
Continue on Monitor/Check monitor failures in monitors: On selecting this check box, the system continues the process in case failure of monitor/check monitor.
Dynamic monitor: Dynamic Monitors are those monitors whose vectors are not set in scenario file or in monitor profile. Instead, vector names are queried from the monitor using Dynamic Vector interface. On selecting this check box, the test does not stop in case of failure of dynamic monitors.
Pre_test_check_monitors: Pre-test check monitors are used to check the server health before starting a test run. On selecting this check box, the test does not stop in case pre-test check monitors are failed.
Timeout for running pre test check monitors/Batch Jobs: It is the time (in seconds) which is specified for running pre-test check monitors. After reaching this time, the pre-test check monitors are not executed. The default timeout is 15 seconds.
Timeout for running post test check monitors/Batch Jobs: It is the time (in seconds) which is specified for running post-test check monitors. After reaching this time, the post-test check monitors are not executed. The default timeout is 300 seconds.
Enable CavMonAgent Process data monitor for all servers: By selecting this checkbox, NS automatically applies a ProcessDataEx monitor for CavMonAgent of all servers listed in server file.
Enable Server signature for all server which are defined in topology: On selecting this, server signature is enabled for all servers which are defined in topology.
Enable heartbeat on monitors data connection: An agent sends a packet of data to its management server on a periodic basis; by default, once every 60 seconds. This packet of data is called the heartbeat. On selecting this check box, heartbeat on monitors data connection is enabled.
Enable monitors connection retry: On selecting this, monitors retry is enabled up to the counts specified. By default, it is 64.
Enable check monitors connection retry: On selecting this, check monitors retry is enabled up to the counts specified. By default, it is 64.
Enable server signature on all servers topology: User can disable all/enable all or set the auto mode. In case of enable or auto mode, user needs to specify the retry count, threshold value, and recovery threshold time (in seconds) for java processes. By default, it is 5, 300, and 900 respectively.
Dynamic vector timeout: User needs to specify the dynamic vector time out in seconds.
Dynamic vector monitor retry: User needs to specify the dynamic vector monitor count. By default, it is 2.
Coherence monitor NodeID Table size: User needs to specify the table size for coherence monitor Node ID. By default, it is 256 MB.
Skip vector whose either tier/server/instance not present in topology: On selecting this check box, those vectors whose tier/server/instance is not present in topology are skipped.
Enable Heroku Monitors: On selecting this check box, the Heroku monitors are enabled.
Server Mapping
NetStorm maps the recorded host (name of the host where the script was recorded) to the actual host (which is being tested). This maps one recorded host to one or more actual servers and their locations.
The mapping is kept in a table in shared memory. NetStorm picks a random entry that maps a given recorded host to an actual server when it makes a new connection and connects to this server. The recorded server > actual server mapping is fixed for a session.
When the URL is a redirection type, the request may be re-directed to another (recorded) host whose mapping is not present in the shared table. Since the script does not contain this new recorded host upfront, it cannot be added in the shared table and it would result in an error during parsing of the script.
By default, Recorded hosts are used at the time of test run (session replay). But, a different hostname (for sending requests to) may be specified for the test runs. This may be important for the situations when the session recording is done with one server but may have to run the same session against different servers.
For example, in a typical situation, there may be one server setup for development, one for QA, one or more for performance and one for staging environment etc. In this situation, tests may be recorded once but may be replayed against any server setup, by mapping the recorded server(s) to actual hosts(s).
Need for Mapping
- Server mapping is needed to map one recorded host to another one or more actual hosts.
- Recorded-host is the host name as recorded at the time of session recording.
- Recorded and Actual hosts names are specified in the format hostname: port.
For example, 10.10.30.7:81
- A special character, dash (-) can be used as a placeholder to specify the server location as default server location. For example: rediff.com –
Click the Server Mapping link on the Scenario Settings section, the Server Mapping window is displayed.
Server Mapping window contains following options:
- Mapping Mode
- Single Server Mapping
- Multiple Server Mapping
- Static Mapping
- Default Server Location
Mapping Mode
Server name (or IP Address) to which requests are sent during session capture is recorded as part of recording. There may be one or more recorded servers, if the requests have been sent to multiple servers by way of directly entering the server name as part of URL, or clicking a link or indirectly accessing the in-lined images, during session capture.
Mapping modes are of two types:
Single Server Mapping
In Single Server Mapping, One recorded server maps to one actual server. This encompasses one to one and many to one mapping from recorded host to actual host. When user selects this option, actual-host-location may be omitted. In this case, DEFAULT SERVER LOCATION is assumed to be the server location.
Assume that the server against which user plans to run the tests is 10.10.30.7 and further assume that in real deployment, the server is located in San Francisco. To define this server mapping, select 10.10.30.7 from the Recorded server list, specify 10.10.30.8 in Actual Server and select San Francisco from the location list.
Now, if the NetStorm runs, it accesses the URLs from 10.10.30.8 and not from 10.10.30.7. NetStorm simulates Internet appropriately with Server being located in San Francisco and the user community as defined by user profile.
Multiple Server Mapping
In Multiple Server Mapping, One or more recorded server maps to multiple actual server. When a recorded host is mapped to multiple actual hosts, requests are sent to actual hosts in round robin fashion.
Now, if the NetStorm is run, it accesses the URLs from 10.10.30.8 and 10.10.30.9 and not from 10.10.30.7. NetStorm simulates Internet appropriately with Servers being located in San Francisco and New York and the user community as defined by user profile.
Static Mapping
This mapping is used where an IP can be assigned corresponding to a host. The user can add / delete / update a host and can assign an IP corresponding to it.
To add a host
- Click the Add button.
- Select the Hostname from the drop-down, provide IP, and click OK.
Note: On selecting ‘Others’ in the Hostname, the user can type the Host name in the text box.
Advanced Settings
Default Server Location
User can set the default server location from the Default Server Location drop-down list.
Use same Actual Server in single session (Server Select Mode settings): This option is used to decide whether the same host is needed for both HTTP and HTTPS request for a particular session.
The recorded hosts getting mapped to same number of actual hosts are mapped to actual host having same index with respect to their recorded host. It is applicable in case of multiple server mapping.
Add Recorded Host
A user can add Recorded Host from Scenario UI in Server Mapping within Advanced Setting to generate load on the specified IP. The user can enter a Recorded Host name in a text box and select Scheme type from drop-down list. Then, those entries are reflected in a table.
- Click the Add button.
2. Provide the recorded host name and select scheme type from the list.
3. Click OK.
4. The record is reflected in the table.
Functions on the Server Mapping window
Add: This button is used to add the Recorded server address, actual Server address and location. If one recorded server maps to one actual server is selected then recorded server address, actual Server address must be different.
Steps to add Recorded server, Actual server and Location:
- Click the Add button.
- Provide the Recorded Server, Actual Server and Location.
Delete: This button is used to delete the selected recorded server address, actual Server address and location.
Steps to Delete Recorded server, Actual server and Location:
- Select the Recorded server, Actual server and Location.
- Click the Delete button.
Update: This button is used to update the selected recorded server address, actual server address and location.
Steps to Update Recorded server, Actual server and Location:
- Select the Recorded server, Actual server and Location which user wants to update.
2. Selected record gets inserted in the input line text box.
3. Selected record is displayed in a new window.
4. Update the record.
Real Browser User
Here, user can provide the real browser settings. To perform the RBU settings, go to Real Browser Settings section on the left pane.
There are following sections under this:
- Run virtual user as real browser user: Select this check box to run virtual user as real browser user.
- Browser: Select the browser from the drop down list.
- Enable Lighthouse Reporting: Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, and more. Upon selecting this, it generates an html report along with Lighthouse Average and Detail reports.
Lighthouse has six Performance Metrics:
- First Contentful Paint: First contentful paint marks the time at which the first text/image is painted.
- First Meaningful Paint: First Meaningful Paint measures when the primary content of a page is visible.
- Time to Interactive: Interactive marks the time at which the page is fully interactive.
- Speed Index: Speed Index shows how quickly the contents of a page are visibly populated.
- First CPU Idle: First CPU Idle marks the first time at which the page’s main thread is quiet enough to handle input.
- Estimated Input Latency: The score above is an estimate of how long your app takes to respond to user input, in milliseconds, during the busiest 5s window of page load. If your latency is higher than 50 ms, users may perceive your app as laggy.
Lighthouse Report
On clicking the Light House Report, the following window is displayed:
This window displays following details:
- Page name
- Host name
- Group
- Session Count
- Performance Score (%)
- Accessibility Score (%)
- Best Practice Score (%)
- First Meaningful Paint (sec)
- Time to Interact (sec)
- First CPU Idle (sec)
- Speed index (ms)
On clicking the page name link, a detailed report is displayed.
Video Clip Settings
- Capture video and enable rendering metrics by taking video clips: In this section, user can specify the resolution of video clips on which video is captured and metrics rendering is enabled. On selecting this, next label is disabled.
- Capture rendering metrics without saving video by taking clips: In this section, user can specify the resolution of clips on which rendering metrics are captured without saving video.
Content Delivery Network (CDN) Offload Settings
Here, user can perform content delivery network (CDN) offload settings. CDN offload is always enabled for main URL domain. To enable CDN offload for additional domain, select the check box and enter these domains. For multiple domains, use semicolon.
User Agent Settings
Select the option for user agent string. There are following options:
- Use browser’s default user agent
- As per user profile
- Use custom string – In this case, specify the custom string
RBU Profiling (JS Profiler)
Runtime performance is the measurement of page performance when it is running, as opposed to loading. This document provides a brief description about how Cavisson NetStorm can help to analyze runtime performance of the page(s) of an application when it is running.
Configuration for RBU Profiling
Follow the below mentioned steps for the configuration of RBU profiling in NetStorm Scenario:
- Login to NetStorm and navigate to Scenarios section.
- Select a scenario from the list of available scenarios.
- Go to Real Browser User Settings section and expand JS Profiler Settings.
4. To analyze the page performance results, select the Enable JSProfiler (Supported only for Chrome Browser) check box.
Note: On clicking the ‘Enable JSProfiler’ checkbox, a popup message is displayed if the selected browser version is less than Chrome 68 and prompts the user if still wants to use JS profiler with the older version.
- Further, user can specify the timeout for saving the JS Profiler data. This rage is between 10-60 seconds.
- To collect page screenshot and observe how the page was evolving during downloading, select the Capture Screenshot check box.
- To capture trace until the network becomes idle, select the check box. The default value is 5 seconds. In RBU, we have to capture a har file, it means to capture every minor calls. By enabling this option, the user can capture every single call until the network becomes idle.
- Save the JS Profiler configurations by clicking the Save icon (
) at the top-left section of the window.
Analyzing the Results
Once JS Profiler configurations are done, the user can observe the page performance and can analyze the results. To do this, follow the below mentioned steps:
- Navigate to NetStorm – Home page, then go to Test Run window, select the test for which the page performance is to be analyzed, and click the Reports button.
2. This displays the Reports window. Go to Ready Reports and click the Page Detail report.
3. This displays the Page Detail Reports Click the icon to view JS profiler.
Once the recording of the page’s performance is generated, the user can measure how poor the page’s performance is, and find the cause(s).
- Click the Performance tab at the top-left of the window.
This window contains various sections to analyze the page performance:
Analyze frames per second
The main metric for measuring the performance of any animation is frames per second (FPS).
Red bar above FPS indicates that the framerate dropped so low that it is probably harming the user experience. In general, the higher the green bar, the higher the FPS.
CPU Chart
Below the FPS chart, the user can see the CPU chart. When the CPU chart is full of colors it means CPU is highly utilized during recording and we should find ways to minimize the CPU utilization for its optimization.
The colors in the CPU chart correspond to the colors in the Summary tab, at the bottom of the Performance panel.
- Hover the mouse over the FPS, CPU, or NET charts. NetStorm displays a screenshot of the page at that point in time. Move the mouse left and right to replay the recording. This is called scrubbing, and it is useful for manually analyzing the progression of animations.
6. In the Frames section, hover the mouse over one of the green squares. NetStorm displays the FPS for that particular frame.
7. Similarly, user can view the Network stats, Interactions, and Timings.
8. To view memory timelines, select the Memory check box.
9. Expand the Main section to see which URL is passing. NetStorm displays a flame chart of activity on the main thread, over time. The x-axis represents the recording, over time. Each bar represents an event. A wider bar means that event took longer. The y-axis represents the call stack. When the user see events stacked on top of each other, it means the upper events caused the lower events.
There is a lot of data in the recording. Zoom in on a single Animation Frame Fired event by clicking, holding, and dragging the mouse over the Overview, which is the section that includes the FPS, CPU, and NET charts. The Main section and Summary tab only display information for the selected portion of the recording.
Note: Red triangle at the top-right of the Animation Frame Fired event indicates a warning that there may be an issue related to this event.
- Click the Bottom-Up tab to see how the calls are recorded.
11. Click Call Tree tab to see the execution of the calls.
12. Click Event Log to see the logged events during the execution of the page.
Advance Settings
There are following settings under this:
- Override browser profile settings from the provided profile (with absolute path)
- Save HTTP response body. This is needed for page dump without taking snapshot. Also, it can be viewed from waterfall screen.
- Capture page snapshot. If this is enabled, page dump will show the snapshot instead of HTTP response.
- Generate alert due to script run time errors.
- Enable browser screen size simulation as per user profile.
- Capture Time to Interact (TTI) metrics. TTI is captured using specification provided in primary content profile specified in ns_browser_url API in the script.
- Specify additional origin domains. Multiple domains are separated by comma.
- Select the browser version of chrome and Firefox from the drop-down list.
Script Parsing and Data Uniform Resource Identifier (URI)
To perform the Script Parsing Time and Data URI:
- Go to NetStorm home page, click Scenarios.
2. After selecting the Scenarios, on the next screen, click the Create button to create a scenario.
3. Upon clicking the Create button, the Create Scenario screen opens.
4. Enter the details for Project, Sub-Project, and Scenario Name.
- Click Next to go to the next screen or Cancel to cancel the details.
- Under Schedule Settings, click the Add Group (+) button on the top of the screen.
- Provide the details for Group Name, Type, User Profile, Project, Sub-Project, Script, and Number of User(s).
8. Click OK to save the details or Cancel to cancel the details.
9. Define the Phases and click the Save button on the top of the screen to save the details.
10. Click the Real Browser User Settings.
11. Enable Run virtual users as real browser user.
12. For Script Parsing Time and Data URI, go to the Advance Settings in Real Browser User Settings.
13. Enable Capture JS processing time in Waterfall and Capture BLOB request in Waterfall.
14. Save the scenario by clicking the Save button on the top left side of the screen.
15. Run the Test by clicking the Play button on the top of the screen.
16. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.
17. After the test is complete, validate Script Parsing and Data URI.
The following steps are to be performed:
- Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
- Search your Test Run (TR) number and click the Apply button.
- Now, under Test Run field, click on the searched TR number. This opens the Test Dashboard.
- Go to Dashboard and click Toggle Menu Navigation Panel > Reports.
- Under Ready Reports, click Page Detail.
20. Upon clicking Page Detail, the screen with ready reports – Page Average Reports are displayed. Under Page Name column, click on any page, for example, Home (as shown in the image below).
21. Clicking a particular Page Name takes to next screen of Page Detail Reports. Here, the user clicks the particular Page Name once again to open the waterfall.
The waterfall is displayed in the image below.
- To view the Script Parsing of URL is displayed by hovering cursor over the color bar.
23. For Data URI, scroll down to the Page Detail Report to GET DATA URI.
![]() | This feature runs only on Chrome. |
Move Downloaded File in RBU
To move downloaded file in RBU, follow the below mentioned steps:
- Click the Real Browser User Settings. Enable Run virtual users as real browser user.
2. Enable Move Download File Inside Test Run Directory.
3. Save the Scenario.
4. Run the Test by clicking the Play button on the top of the screen.
5. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.
6. After the test is completed, validate Move Download from:
- Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
- Search your Test Run (TR) number and click the Apply button.
- Now, under Test Run field, click on the searched Test Run (TR) number.
- This opens the Test Dashboard (as shown in the image below).
- Click Actions > Download File.
- To browse a downloaded file, provide a path such as: /home/cavisson/work_2/logs/TR Number/20181211122957 (Partition Number)/rbu_logs/downloads/NSAppliance-work_2-cavisson-TR8400-1-1/ (file to be downloaded)
- Click Download to download the file on browser.
![]() | This feature runs on both on Chrome and Firefox. |
Mark and Measure
This feature enables a user to decide which parts of scripts are to optimize, and instrument those parts of scripts with the User Timing API. From there, the user can access the results from JavaScript using the API, or view them on Chrome DevTools Timeline Recordings.
When a user applies a scenario with timestamp, then using this feature, the user can get graphs of specific timestamp (that is applied) within the dashboard. Mark specifies the start duration graph only, and by using measure, it signifies the start time and the duration graph both. This is very much effective in having specific graphs with provided timestamps.
SMTP Settings
Timeouts are an essential feature of an SMTP implementation. If the timeouts are too long (or worse, there are no timeouts), Internet communication failures or software bugs in receiver-SMTP programs can tie up SMTP processes indefinitely. If the timeouts are too short, resources will be wasted with attempts that time out part way through message delivery.
To perform SMTP settings, go to SMTP Settings section on the left pane.
In this section, user can perform SMTP timeout settings:
- Greeting: A Sender-SMTP process needs to distinguish between a failed TCP connection and a delay in receiving the initial 220 greeting message. Many receiver-SMTPs accepts a TCP connection but delay delivery of the 220 message until their system load permits more mail to be processed.
- Mail: by default, it is 300 seconds.
- Recipient: A longer timeout is required if processing of mailing lists and aliases were not deferred until after the message was accepted.
- Data Initialization: This is while awaiting the “354 Start Input” reply to a DATA command.
- Data Block: This is while awaiting the completion of each TCP SEND call transmitting a chunk of data.
- Data Term: This is while awaiting the “250 OK” reply. When the receiver gets the final period terminating the message data, it typically performs processing to deliver the message to a user mailbox. A spurious timeout at this point would be very wasteful, since the message has been successfully sent.
- Session: After this time, the session is expired. By default, it is 600 seconds.
User Profiles
All users belonging to a scenario group share same common characteristics. These characteristics include:
- Network Access method employed by the user to access the web application e.g., 56 K dial-up modem, 512K DSL, cable modem, T1 etc.
- Geographic location of the users. For example, East Cost, mid-west, Asia etc. Geographic location affects the number of hops, packet loss etc.
- Web Browser Used by users, such as NetScape4, IE 5.0 etc.
A common virtual user characterization of a scenario group is called User Profile. User Profile is used for WAN-ENV simulation and can be designed accordingly. User Profile can be designed with desired Location, Access, Browser and Co-located User for scenario groups.
A scenario group is associated with a single User profile. But multiple scenario groups may share same user profile. This would happen in the situation when such scenario groups have different test script associated with them.
If the WAN Simulation is on, one important thing that needs to be defined for actual server is the physical location of the server (SUT) when deployed in production environment. By default, it is set to San Francisco.
By default, Internet simulation is disabled. So, all user profiles simply boil down to a LAN. To use the real Internet simulation:
- Enable the WAN simulation as described below.
- Use the appropriate User profile in defining the Scenario groups.
- Define the Location of the Server as described in the Server Configuration Section below.
There are following sections under this:
- Profile
- Location
- Edit Access
- Browser
- Screen Size
Profile
To open User Profile window, click the Profiles link under User Profile section.
User Profile window is divided in to two frames:
- User Profile Management Frame
- User Profile Details Frame
User Profile Management Frame
With this frame, user can perform following operations:
- Select a user profile
- Add a user profile
- Copy a user profile
- Delete a user profile
To Add a User Profile:
- Enter new user profile in the New User Profile
- Click the Add
- After clicking Add button, user gets the User Profile with its default values.
- Specify the user profile details [discussed later].
- Click the Save button to save the user profile.
To Copy a User Profile:
- Select an existing user profile from the User Profile drop-down list.
- Enter user profile name in New User Profile textbox to copy existed profile.
- Click the Copy button.
- Now, the selected user profile gets copied to name provided in New User Profile text box.
To Delete a User Profile:
- Select the profile that needs to be deleted from the User Profile drop down list.
- Click the Delete button.
- Now, user profile gets deleted from the drop-down list.
User Profile Details Frame
With the help of this frame, user can add location, access, browser and co-located users to a user profile. This frame is again divided into four sub-frames:
- User Location with Dedicated Access
- Dedicated User Access
- Location with Shared Access (Co-Located Users)
- User Browser
Each of above sub frames is provided with three options Add, Delete, and Update.
User Location with Dedicated Access
Here, Location is location-name representing the geographical location of the users and Percent is the percentage of this group of users with respect to total users. Location drop-down contains default list of locations. To add new location to this frame, first user has to delete some locations or edit their percentage, if total percentage is already 100.
User Location with Dedicated Access frame contains three buttons Add, Delete and Update.
To Add a Location in User Location with Dedicated Access frame
- Select a location from drop-down list of user locations.
- Set Percent value of the selected location.
- Click the Add button, location gets added in the list.
To Delete a Location from User Location with Dedicated Access frame
- Select location row from user location list.
- Click the Delete The location gets deleted.
![]() | User can delete multiple locations at a time by selecting multiple rows. |
To Update a Location from User Location with Dedicated Access frame:
- Select a row to be updated. Here, user can update percentage of users.
- Update the Percent value and click The percent gets updated.
Dedicated User Access
Access Name is the unique user access name, representing the physical network access device used by user to connect to web application. In this frame, access is the shared network access representing the physical network access used by the users and percent is the percentage of this group of users with respect to total users. User Access drop-down contains default list of accesses. To add new access, first user has to delete some accesses or edit their percentage, if total percentage is already 100.
Dedicated User Access frame contains three buttons Add, Delete, and Update.
To Add an Access in Dedicated User Access frame:
- Select an access from drop-down list of user access.
- Set percent value to selected user access.
- Click the Add button. The user access gets added in the list.
![]() | Total percent of added accesses should be 100. |
To Delete an Access from Dedicated User Access frame:
- Select access row that needs to be deleted.
- Click the Delete The access gets deleted.
![]() | User can delete multiple Accesses at a time by selecting multiple rows. |
To Update an Access from Dedicated User Access frame:
- Select a row from the drop-down list to be updated.
- Change Percent value and click Update button. The access percent gets updated.
Location with Shared Access (Co-Located Users)
In this frame, access is the shared network access representing the physical network access used by the users. Location is location-name representing the geographical location of the users and percent is the percentage of this group of users with respect to total users. To add new location with shared access, first user has to delete some records or edit the percentage if the total percentage is already 100.
To Add value in Location with Shared Access (Co-Located Users) frame:
- Select the location from drop-down list of locations, select the user access, and provide the percentage.
- Click on Add button, the record gets added.
To Delete a row from Location with Shared Access (Co-Located Users) frame:
- Select a row to be deleted.
- Click the Delete button. The selected row gets deleted.
To Update a row in Location with Shared Access (Co-Located Users) frame:
- Select a row to be updated.
- Change Percent value and click Update The percent gets updated.
User Browser
In this frame, Browser is the browser used by the users and Percent is the percentage of this group of users with respect to total users. User Browser drop-down contains default list of Browsers. To add new browser to this frame, first user has to delete some browsers or edit the percentage if the total percentage is already 100.
User Browsers frame contains three buttons – Add, Delete and Update.
To Add a Browser in User Browser frame:
- Select a browser from drop-down list of user browser and specify the percentage.
- Click the Add button, the browser gets added in the list.
![]() | Total percent of added browsers should be 100. |
To Delete a Browser from User Browser frame:
- Select browser row that needs to be deleted.
- Click the Delete The browser gets deleted.
![]() | User can delete multiple Browsers at a time by selecting multiple rows. |
To Update a Browser from User Browser frame:
- Select browser row that needs to be updated.
- Update the Percent value and click the Update The percent value gets updated.
Location
This section is used to add/delete/update a location. To open the locations window, click the Locations link under User Profile section. The locations window is displayed.
Adding a Location
- Enter the new location name and click Add. The following window is displayed.
2. Add the location details, such as continent/country, city, longitude, and latitude.
3. Click OK.
Mapping of Locations: User can map the location with forward and backward latency and forward and backward loss:
Steps to map a location:
- Set a location and click Add.
- Set values of ‘From Location’, ‘To Location’, ‘Forward Latency’, ‘Backward Latency’ and Loss for both the servers to be mapped and then click the OK.
![]() | User can delete or update a record using the Delete or Update button respectively. |
User Network Access
This section is used to add/delete/update a network access. To open the access window, click the Access link under User Profile section. The User Network Access window is displayed.
Adding an Access
- Enter value for access name, upload bandwidth, download bandwidth, and V.42 compression:
- Click the Add button, the record gets added to the list.
Note: The user can update the upload bandwidth and download bandwidth settings.
Browser
This section is used to add/delete/update a browser. To open the browser window, click the Browser link under User Profile section. The User Browser Types window is displayed.
Adding a User Browser Type
- Specify browser name, maximum connection per server (for HTTP 1.0 and HTTP 1.1), maximum connection per proxy (for HTTP 1.0 and HTTP 1.1), maximum connection per user, keep alive time, and user agent string.
- Click OK button, the user browser gets added.
Screen Size
This section is used for editing a screen size. Click the Screen Size link in the User Profile section, the Screen Size window is displayed.
This window contains the following options:
System Default Screen Size Settings: This shows System Screen Size setting which includes different Screen Size in pixels and corresponding Percentages of it. Total percentage is 100.
User Profile Default Screen Size Settings: This is the default settings for user profile screen size. In this, select the user profile from the Select User Profile drop-down list to which this screen size to be applied and then select the Screen Size and provide the percentage. After Add operation, it is added and it shows the percentage whatever user wanted to add.
User Profile Browser Based: In this section, user can select screen size for different browsers according to the requirements. There is a corresponding percentage with each screen size. User can perform operations like Add, Update, and Delete in setting the screen size.
Java Setting
This section is used to perform the Java setting if user is using the java type script in scenario. In this case, user needs to set some arguments for the execution of java type script. To access the Java Setting window, click the Java Setting menu item in the scenario getting section.
JVM Min and Max Heap Size: Java program executes in JVM uses Heap of memory to manage the data. User can set minimum and maximum heap size accordingly. By default, minimum heap size is 128 MB and maximum heap size is 512 MB.
JVM Virtual User Thread Pool: Specify the minimum and maximum number of threads that are reserved for requests from applications. The thread pool is dynamically adjusted between these two values. This is used to set NJVM thread pool values. For example, 64 is at initial level, 2 is for increment, while maximum is 512. 75% is Threshold means thread Pool Percentage.
JVM Custom Arguments: This is used for passing multiple arguments and to set NJVM custom arguments.
System Java Class Path: The class path is the path that the Java runtime environment searches for classes and other resource files. This is used to set NJVM system class path. The Java platform itself uses a Properties object to maintain its own configuration. The System class maintains a Properties object that describes the configuration of the current working environment. System properties include information about the current user, the current version of the Java runtime, and the character used to separate components of a file path name.
Scenario Specific Class Path: This is also used to set NJVM system class path. In this, third party is also used.
Java Home Path: JAVA_HOME is just a convention, usually used by Tomcat and other Java EE app servers to find where Java lives. JAVA_HOME is an environment variable (in UNIX terminologies), or a PATH variable (in Windows terminology). Java applications look up the JAVA_HOME variable for the location where the Java compiler/interpreter may be found. This is used to set the NJVM Java Home path. Set the NJVM_JAVA_HOME environment variable to point to the JRE installation directory.
Connection Timeout: Connection time is the time for which NVM has to wait for NJVM to connect. Maximum time is 60 seconds. After 60 seconds, connection breaks.
Message Timeout: Message timeout means when NetStorm sends Request and Server did not respond within given time then Error displays as Timeout. Default time is 60 seconds.
Health Monitor
This section is further divided into following sub section:
- System Health
- Advanced Settings
System Health
This section is used to set Threshold settings in health monitor based on File System and INode. Disk space check checks space in the hard disk. A warning is displayed or the test is not even starts if the disk space is low. And INode check checks for the free INodes. A warning is displayed or the test is not even starts if the INodes is low.
Health Monitor Settings window contains the following tabs:
- Disk
- INode
Disk
This section contains the information on the disk space status, such as what is the total space of the disk for a particular file system, how much disk space is in use and what is the free space currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this disk space check provides the user with the facility that checks the disk space before starting the test so that user can avoid the test failure at a later stage and thus save time.
Disk section contains the following options:
File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.
Current Disk Status (GB): This field shows total space, used space and free space (in %) of disk.
Threshold Free Space: User can set following threshold Free Space values (in %) for disk:
- Critical: It is used to specify the critical value (in %) below which the test should not run. It must be a numeric value only less than 100.
- Major: It is used to specify that the free disk space percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
- Minor: It is used to specify that the free disk space percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.
Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:
- Yes: Continue with test (default)
- No: Stop the test
INode
In file system, an index node, informally referred to as an INode, is a data structure used to represent a file system object, which can be one of various things including a file or a directory. This section contains the information on INode space, such as what is the total number of INodes allocated for a particular file system, out of them how much INodes are in use and what is the free INodes (in %) currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this INode check provides the user with the facility that checks the INodes before starting the test so that user can avoid the test failure at a later stage and thus save time.
INode section contains the following options:
File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.
Current INode Status (GB): This field shows total INodes, used INodes and free INodes (in %).
Threshold Free Space: User can set following threshold Free Space values (in %) for INode:
- Critical: It is used to specify the critical value (in %) below which the test should not run. It can have numeric values between 0 and 100.
- Major: It is used to specify that the free INodes percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
- Minor: It is used to specify that the free INodes percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.
Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:
- Yes: Continue with test (default)
- No: Stop the test
Advanced Settings
In this section, a user can configure the number of connections allowed at a time while running a test. If it exceeds the specified limit, further connections will not be established until the existing connections are released in the network.
GIT Settings
Git is used to manage a project or a set of files as they change over time. Git stores this information in a data structure called a Git repository. The repository is the core of Git. A Git repository is the directory where all of your project files and the related metadata resides.
To configure Git settings, the user needs to perform the following operations:
- Go to Advanced > Git Settings.
- This displays the Git Remote Server Settings window where user needs to provide the following inputs:
- Enable Git: On selecting this check box, the Git is enabled in scenario and displays buttons, such as GIT Commit, GIT Pull, GIT Clone, and Version Control in the Scenario UI.
- Repository IP: The IP of the machine where the files are stored.
- Repository Port: Port of the machine.
- User Name: Git user name.
- Password: Password of the Git user.
- Pass Phrase: A pass phrase is a sequence of words or other text used to control access to a computer system, program or data. A passphrase is similar to a password in usage, but is generally longer for added security.
- Click OK.
Once these settings are enabled, following options are displayed in Scenario UI:
- Git Clone: First time user needs to do Git clone
- Git Pull: Pull the data from the remote repository
- Git Commit: In NS commit works as Git Add > Commit > Push
- Git Push: User pushes the committed changes in remote repository
Git Clone
This option creates a clone of the scenarios and scripts present on a remote Git server. A user can create a clone of the entire scenarios / scripts directory present on the remote server. By cloning, all committed projects and sub – projects present in scenarios / scripts are copied to the scenarios / scripts directory on local machine.
To perform this operation, select a record / more records and click the GIT Clone button.
On successful processing, a message is displayed – Cloning done successfully.
GIT Commit
This is used to commit the changes to local repository. Select a record and click the GIT Commit button. A dialog box is displayed where the user needs to provide the comments and click the Commit button.
GIT Pull
It is used to pull the latest commits from remote server to local repository. By refreshing scenarios / scripts, all recently committed files on master repository are fetched to the scenarios / scripts directory of local repository Select a record and click the GIT Pull button. On successful processing, a message is displayed – Refresh successfully.
Version Control
Here, the user can view the version logs of a record. If there is a change in scenario, such as increasing / decreasing Vusers, increasing / decreasing the stabilization or duration time, then these changes are reflecting in UI in the form of a modified file. To use version control feature, select a record and click the Version Control button.
This displays the Version Control window:
Here, the user can see the logs of the files and the modified files.
View Logs
To view the logs, select the Show Logs option from the drop-down list.
View Difference between Two Log Files
To view difference between two log files of a record, select two log files and click the Diff button.
Revert to Previous Version
The user can revert a log file to previous version by selecting the file and clicking the Revert button.
To save this, the user needs to commit the file using GIT Commit button.
View Modified Files
To view modified file, select the Show Modified Files option from the drop-down list.
General Settings (Correlation ID)
A Correlation ID or Transit ID is a unique identifier value attached to requests and messages that allows reference to a particular transaction in a distributed environment. Cavisson uses Correlation ID header with request so that it can be mapped automatically with flowpath report.
To access this, go to APM Integration > General Settings.
Correlation ID in HTTP Request(s): To add Correlation ID in HTTP Request(s), first user needs to select this check box, and then provide header name with various other configurations.
Header Name: This is the name of the header, which represents the Correlation ID.
For example: X-Correlation-ID
Configure Correlation ID in HTTP Request(s)
User needs to configure the Correlation ID and apply certain parameters before sending it along with the request. Some parameters are optional while others are mandatory (such as transaction name and test number). The values for mandatory parameters are appended automatically in the sample request.
- Prefix: The prefix is the value that is appended preceding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.
For example: CorID, Cor123ID, 123CorID, CorID123, and so on..
- Source ID (SI): It is the Source name / machine configuration name from where the request is generated. It is a mandatory field.
For example: SI=CavissonNS
- Time Stamp (TS): It is the absolute time stamp (in milliseconds) at which the request is generated.
For example: TS=1551163307097
- Unique ID (ID): It is a unique identification of the request, which is a combination of Virtual User ID, Session Instance, and Transaction (last transaction of page) / Page ID. If transaction is not defined, it uses Page instance.
For example: ID=9143
- Page Context (PC): It is the name of current page from where the request is generated.
For example: PC=HomePage
- Virtual User Index (VU): It is a combination of Virtual User ID and Virtual User Instance used to send the request.
For example: VU=10
- Transaction Name (NA): It is the last transaction of the page or the page name. It is a mandatory field.
For example: NA= HomeTx
- Client IP / Port (CI): It is the IP and the port of client / source machine.
For example: CI=199.99.96.1:31728
- Destination IP / Port (DI): It is the IP and the port of destination machine / server.
For example: DI=104.80.50.135:29088
- Geographical Region (GR): It is the geographical region / location of the user who generates the request.
For example: GR=SanFrancisco
- Agent Name (AN): It is the logical name of the agent which originates the request.
For example: AN=199.99.96.1
- Script Name (SN): It is the set of requests that makes up a multi-step transaction.
For example: SN=ToursScript
- Test Name (TE): It is the name of the load test. It is a mandatory field.
For example: TE=11924
- Suffix: The suffix is the value that is appended succeeding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.
For example: CorID, Cor123ID, 123CorID, CorID123, and so on..
Configure Correlation ID (as above) in Inline Request(s): On selecting this check box, inline requests will contain the same Correlation ID configurations (as done for HTTP request).
Configured Correlation ID: This denotes the sample HTTP Request header based on the configurations of the Correlation ID done above.
For example:
HTTP Request Header
X-Correlation-ID: SI=CavissonNS;TS=1551163307097;ID=9143;PC=HomePage;VU=10;NA=HomeTx;CI=199.99.96.1:31728;DI=104.80.50.135:29088;GR=SanFrancisco;AN=AN=199.99.96.1;SN=ToursScript;TE=11924
Internet Protocol (IP) Address Management
It is a method of tracking and modifying the information associated with a network’s Internet Protocol address (IP address) space. It is an integrated suite of tools to enable end-to-end planning, deploying, managing and monitoring of your IP address infrastructure, with a rich user experience. It automatically discovers IP address infrastructure servers and Domain Name System (DNS) servers on your network and enables you to manage them from a central interface.
Why IP Management is required?
There is a need for NetStorm to support multiple sources IP addresses for following reasons.
- Real users use different source IP addresses and hence to emulate the real-world scenarios NetStorm should be able to generate virtual users with different source IP addresses.
- When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections. Ports are limited to 64K and hence having several sources IPs may be required.
There is a need for NetStorm to support multiple servers IP addresses for following reasons.
- Real servers use different IP addresses and hence to emulate the real-world scenarios NetStorm should be able to connect to different servers different server IP addresses.
- When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections on server side. Ports are limited to 64K and hence having several destinations IPs may be required.
This is achieved by IP management module of NetStorm product.
IP Management in NetStorm
Go to View > Scenarios > IP Management.
This displays the IP Management window. Here, the user can assign IP address for client and server.
To assign IP address for client or server, the user is required to click the Client or Server button respectively.
Assigning IP Address
On the IP Management window, click the Add button. This displays the Add IP window (for either client or server based on the option selected).
The user needs to provide the following inputs:
- IP Version: Select either IPv4 or IPv6.
- Vlan ID: An ID associated with each VLan.
- Network ID: Network ID for client / server.
- Netbits: Bits of IP address, which are used to representing the network.
- Start IP: Start ip of the particular range (netid).
- End IP: Last ip of the given range.
- Number of IPs: Number of PIs in the provided range.
- Gateway: Allows data to flow from one discrete network to another. IP properties Tab of the IP Management affect this field.
- Interface: It is condition dependent. If we are using more than one Load interface then only these column becomes visible.
Auto Fill
By clicking the Auto Fill button, the details are filled automatically. To use this option, the user must provide Start IP and End IP or Number of IP.
Delete IPs
The user can delete one or more IPs by selecting the record(s) and clicking the Delete button.
Show Required Gateway Configuration
This button is only displayed if there is any gateway entry in the IP entries file. On clicking this button, it displays the gateway IPs of client and server.
Connectivity
On clicking this button, it fetches those clients IP and server IPs, which are not connected to each other.
Properties
The user can set the Gateway configuration for the IPs. On the basis of Gateway configuration, Gateway column vary in IP tab. The user can reserve the net ids so that it cannot be added in the IP tab.
Gateway Settings
Only Layer 2 device is between client and server (No Gateway configuration required)
If user wants to set gateway configuration in such a way that there is no gateway is required between client and server then user need to use this option.
Only Layer 3 device(s) is between client and server (Gateway configuration always required)
If user always want to use the Gateway between client and server, then user need to use this option.
Even user wants to use first IP as gateway, the user needs to use the following option:
Use first IP address of the IP range as Gateway address if Gateway not specified
User defined (No enforcement of Gateway configuration)
It means there may or may not be a gateway between the client and server. Therefore, the user can use this option.
Other Settings
The user can reserve net ids that cannot be added in IP tab. This net id is reserved for internal use. We use 192.168.255.0 as the reserved net id for IPV4.