PsPing

PsTools

PsPing

PsPing is a command-line utility for measuring network performance. In addition to standard ICMP ping functionality, it can report the latency of connecting to TCP ports, the latency of TCP round-trip communication between systems, and the TCP bandwidth available to a connection between systems. Besides obtaining min, max, and average values in 0.01ms resolution, you can also use PsPing to generate histograms of the results that are easy to import into spreadsheets.

Installation
 

Copy PsPing onto your executable path. Typing "psping" displays its usage syntax.

Usage
 

You can use PsPasswd to change the password of a local or domain account on the local or a remote computer.

Usage: psping -? [i|t|l|b]

 

-? i   

Usage for ICMP ping.

 

-? t   

Usage for TCP ping.

 

-? l   

Usage for latency test.

 

-? b   

Usage for bandwidth test.

 

ICMP ping usage: psping [[-6]|[-4]] [-h [buckets]] [-i <interval>] [-l <requestsize> [-q] [-t|-n <count>] [-w <count>] <destination>

 

-h    

Print histogram (default bucket count is 20).

 

-i    

Interval in seconds. Specify 0 for fast ping.

 

-l

Request size.

 

-n    

Number of pings.

 

-q

Don't output during pings.

 

-t    

Ping until stopped with Ctrl+C and type Ctrl+Break for statistics.

 

-w    

Warmup with the specified number of iterations (default is 1).

 

-4    

Force using IPv4.

 

-6        

Force using IPv6.

For high-speed ping tests use -q and -i 0.

 

TCP ping usage: psping [[-6]|[-4]] [-h [buckets]] [-i <interval>] [-l <requestsize> [-q] [-t|-n <count>] [-w <count>] <destination:destport>

 

-h    

Print histogram (default bucket count is 20).

 

-i    

Interval in seconds. Specify 0 for fast ping.

 

-l

Request size.

 

-n    

Number of pings.

 

-q

Don't output during pings.

 

-t    

Ping until stopped with Ctrl+C and type Ctrl+Break for statistics.

 

-w    

Warmup with the specified number of iterations (default is 1).

 

-4    

Force using IPv4.

 

-6        

Force using IPv6.

For high-speed ping tests use -q and -i 0.

 

TCP latency usage:

server: psping [[-6]|[-4]] <-s source:sourceport>

client: psping [[-6]|[-4]] [-h [buckets]] [-r] <-l requestsize>] <-n count> [-w <count>] <destination:destport>

 

-h    

Print histogram (default bucket count is 20).

 

-l

Request size.

 

-n    

Number of sends/receives.

 

-r

Receive from the server instead of sending.

 

-w    

Warmup with the specified number of iterations (default is 5).

 

-4    

Force using IPv4.

 

-6        

Force using IPv6.

The server can serve both latency and bandwidth tests and remains active until you terminate it with Control-C.

 

TCP bandwidth usage:

server: psping [[-6]|[-4]] <-s source:sourceport>

client: psping [[-6]|[-4]] -b [-h [buckets]] [-r] <-l requestsize> <-n count> [-i <outstanding>] [-w <count>] <destination:destport>

 

-b

Bandwidth test.

 

-h    

Print histogram (default bucket count is 20).

 

-l

Request size.

 

-n    

Number of sends/receives.

 

-r

Receive from the server instead of sending.

 

-w    

Warmup for the specified iterations (default is 2x CPU cores).

 

-4    

Force using IPv4.

 

-6        

Force using IPv6.

The server can serve both latency and bandwidth tests and remains active until you terminate it with Control-C.

 

Example Usage

 

This command executes an ICMP ping test for 10 iterations with 3 warmup iterations:

psping -n 10 -w 3 marklap

 

To execute a TCP connect test, specify the port number. The following command executes connect attempts against the target as quickly as possible, only printing a summary when finished with the 100 iterations and 1 warmup iteration:

psping -n 100 -i 0 -q marklap:80

 

To configure a server for latency and bandwidth tests, simply specify the -s option and the source address and port the server will bind to:

psping -s 192.168.2.2:5000

 

A buffer size is required to perform a TCP latency test. This example measures the round trip latency of sending an 8KB packet to the target server, printing a histogram with 100 buckets when completed:

psping -l 8192 -n 10000 -h 100 192.168.2.2:5000

 

This is the same command except with a -b option, which executed against the same server performs a bandwidth test. Note that the test must run for at least one second after warmup for a histogram to generate:

psping -b -l 8192 -n 10000 -h 100 192.168.2.2:5000