Online Tutorials & Training Materials |
Register Login

Use of NIPING to Analyze the Network Connection?

01 Apr 2016 4:41 pm || 0

How to Use NIPING to Analyze the Network Connection?

Starting NIPING without arguments displays a short help message. Find a short exlanation of the most important options below:

First start the NIPING server on computer A (e.g., the Application Server) with the command line:

niping -s -I 0 (the last character is zero, not the letter O)

Then start the client (e.g. on the front-end machine) with the command:

niping -c -H [ -B -L -D ]

may also be the host name or the IP address of host A. The remaining arguments are optional.

(default 1000 bytes) determines the size of the data packets. Please test at least the values 500, 1000, 1400, 1500, 4000 and 10000. This test is especially important to find errors related to the maximum transmission unit (MTU). 

Is the number of packets sent (default 10). To find spurious erors it may help to simulate high network load using 1000 loops or more. For a permanent test use a number of e.g. 1000000 loops.

If you test during productive hours and don't want to consume too much bandwidth you can set a between requests ( is in milliseconds).


1) Measuring network metrics (throughput and RTT)

Throughput is the number of bytes per second that an application can send through the network. Measured values will vary according to the actual load of the network. Round trip time (RTT) is the time for a small data packet to be transmitted from the sender to the receiver and back again to the sender. RTT is mainly influenced by network topology and equipment and normally cannot be improved significantly by increasing bandwidth.

Measuring throughput

niping -c -H -B 100000

The use of large blocks reduces impact of network latency. After completion niping will report throughput as value tr2 in kB/s (kilobytes per second).

Measuring RTT

niping -c -H -B 1 -L 100

(The buffersize of 1 may cause an error in older versions of niping. If so please use niping -c -H -B 20 -L 100 instead)

Small blocks and 100 loops are used to measure the average RTT. The value av2 represents the RTT in ms (milliseconds)

2) Long LAN stability test: niping -c -H -B 10000 -D 100 -L 360000

This test will consume 100000 Bytes/second of bandwidth (about 10% of a 10 mbps Ethernet) and run for 10 hours.

You need the newest NIPING version for this test, please follow SAP Interoperability 799428 to get it.

3a) Long WAN test (stability): niping -c -H -B 200 -D 1000 -L 36000

This test uses about 5% of an ISDN line of 64 kbps and also runs for 10 hours.

Interpreting NIPING's output: In this test, the times measured by NIPING correspond mostly to the network latency (round trip time - RTT). The throughput measurement has no meaning in this case.

3b) Long WAN test (idle timeouts): niping -c -H -P -D 3600000

This test establishes a TCP connection and sends a test packet every hour (delay of 3600000ms). It runs for 10 hours. The goal is to see if the TCP connection is disrupted by some "idle timeout".
Most firewalls apply such timeouts. But SAP applications make use of long lasting TCP connection and thus may be hit by such idle timeouts.

4) Short throughput/stability test: niping -c -H -B 1000000 -L 100

Tests connection with 100 MB of data as fast as possibly. On a 100 Mbps Ethernet this should take about 10 seconds. During the test, other applications may be impaired. On a slow WAN connection, reduce loops to 10 (-L 10).

Interpreting NIPING's output: This test uses large blocks of data. Therefore, it can be used to measure throughput available to NIPING. Check the output "tr2". It states the throughtput in kilo-byte per second measured from all packets except the fastest and the slowest one. Multiply this value by 10 to obtain an estimate of the line bandwidth in kilo-bit per second (kbps). Does this value differ by a large amount (at least a factor of two) from the one expected for the connection you are analyzing? This could be an indication of network problems: Either the line is overloaded, or there are other problems with the connection.

5) MTU test:

niping -c -H -B

Vary X according to the values given above (500, 1000, 1400, 1500, 4000, 10000 and 40000)

Interoperability for Windows NT/2000:

If client or server are under heavy load while you perform the measurement, you should start NIPING with high priority. To do this, start NIPING with the following command line:

start /b /wait /high niping

Please test the TCP/IP communication between all concerned machines. Using the options described above, you can either do a long time connection test to find intermittent problems or do a short term stress test with large packets to find fundamental connection problems.

NIPING should not abort with an error message under any circumstances. If you can reproduce an error using NIPING then the problem is definitely related to the network layers, not to the application.