Introduction And Features


Introduction And Features

Download latest version of NetStress from here...

NetStress is a benchmarking tool used to measure network performance -- both wired and wireless. It is a simple tool that employs bulk data transfer using layer 3 protocols TCP and UDP. Network performance is reported in terms of throughput -- that is, bits (or bytes) per second.

In order to test and troubleshoot networks we need tools that allow us to generate network traffic and analyze the network's throughput performance. This is true for both wired and wireless networks.  Three common scenarios: (a) The network is performing below expectations and you wish to measure the current throughput and compare that against the network's theoretical specifications; (b) You are installing a new network, everything is working great and you wish to benchmark current performance as a reference point you can later refer back to -- either on a regular basis or if performance begins to degrade at some point in the future; and (c) You are making modifications to the network and need to know whether or not the modifications make a difference in the network's performance.  This is where NetStress fits in.  By quantifying the network's throughput performance, NetStress provides a valuable metric to assist you in monitoring the health of the network or assist you in troubleshooting network problems.

NetStress has an advantage over tools like FTP (File Transfer Protocol) -- which transfers data to and from disks. If you have a high performance network, then using FTP may be insufficient for real network testing -- since data transfer is occurring to/from disks. NetStress achieves high performance testing by filling buffers in memory with data, then repeatedly transmitting this data using the TCP and/or UDP protocols. Since everything is running from memory, then we have a traffic transmitter and receiver that can operate at true network speeds. In the case of wireless networks -- whose theoretical bandwidth is significantly less than wired networks -- this may not be an issue.

By comparing actual throughput with the theoretical bandwidth between the transmitter and receiver or with a measurement taken at an earlier date, you can tell whether the network is operating as expected. Variations in throughput may indicate a significant amount of other traffic, overloaded network equipment, communication errors which cause packets to be lost or, in the case of wireless networks, interference from other wireless devices. By performing tests using different machines on the network then you begin to gain clues as to where the problem lies and which areas should be examined in greater detail.

NetStress runs on the following Windows operating systems: WinXP (SP3), Vista and Windows 7 (32-bit and 64-bit).


Single Instance of the Application (i.e. each instance can be used as receiver or receiver plus transmitter):
NetStress follows a transmitter / receiver model. In the previous version a user would launch an instance of the transmitter on one machine and an instance of the receiver on another machine. The new version also follows a transmitter / receiver model, but you don't have to be concerned with this when you first launch the application. Now, every instance of the application includes a built-in receiver --that receiver may lie dormant or respond to transmissions from a transmitter. Also, every instance of the application can act as a transmitter.  So, this provides a lot more flexibility since each instance can act as a receiver and, optionally, as a transmitter. When you launch NetStress you'll see that the charts have been separated as Transmitter and Receiver. When the built-in receiver receives transmissions from a transmitter then the results are displayed in the receivers charts, and when NetStress is transmitting then the results are displayed in the transmitter's charts.

TCP and/or UDP -- plus multiple data streams:
Supports TCP transmissions, UDP transmissions or both (concurrently).  Furthermore, you can specify from 0 to 8 data streams for each protocol. These are configured using the Settings dialog.  In addition, the timecourse results are broken down accordingly:
Total:  The chart labeled Timecourse (Total) shows (a) the total throughput (both TCP plus UDP), (b) TCP alone (total of all the TCP data streams), and (c) UDP alone (total of all the UDP data streams).
TCP:  The chart labeled Timecourse (TCP) shows the throughput results for each of the TCP data streams.
UDP:  The chart labeled Timecourse (UDP) shows the throughput results for each of the UDP data streams.

The default setting is to test throughput performance using a single TCP data stream -- this is the most common scenario.

Packet Size:
Supports TCP and UDP packet size. Using the Settings dialog you can configure the packet size of the TCP and UDP data streams. Turns out this can have a dramatic effect on throughput.

Rate of Packet Transmission

Supports Packets Per Second (PPS) "throttle" for the transmission side.  Using the Settings dialog you can configure 'packets per second' for both TCP and UDP data streams.  This is useful in emulating voice and other timed applications.

Maximum Transmission Unit (MTU):  NOTE: This feature is not supported on WinXP
Using the Settings dialog you can configure the MTU for the current interface adapter.  Typically, the operating system will optimize this value when it first boots.  This is not a parameter that Microsoft readily exposes since a bad value can dramatically degrade network performance -- so, experiment with it at your own risk.  Though NetStress allows you to change this parameter while the application is running, it will restore the MTU to its original value when the application exits.  Microsoft Windows computers default to an MTU of 1500 bytes for broadband connections and 576 bytes for dialup connections.   To verify the MTU setting (e.g. while NetStress is running) here is a useful link:

Uplink and Downlink Modes:
Supports "Uplink" or "Downlink" data flow. "Uplink" is the normal mode -- where the instance of NetStress in front of you is the transmitter and data traffic moves away from you (that is, from the local transmitter to a remote receiver). In "Downlink" mode, the instance of NetStress in front of you swaps roles with the remote receiver and data traffic moves toward you (that is, from a remote transmitter to the local receiver).

Auto Node Discovery:
Each instance of NetStress sends periodic beacons that are used to notify other instances of NetStress that a new receiver is available. This makes it much simpler and less error prone when selecting a remote node.

Display Units:
Using the Settings dialog you can configure the which units NetStress should use when displaying the data:  e.g. KBps (KBytes per sec), Kbps (Kbits per sec), MBps (MBytes per sec) or Mbps (Mbits per sec).

Support for Multiple Network Adapters:
When NetStress is launched a dialog box entitled "Select Network Interface (local host)" appears.  One or more local IP addresses will appear, depending on the number of network interface adapters installed on that particular machine.  Select from the available network interfaces for your current NetStress session.

Copyright © 2010, Nuts About Nets, LLC