Skip to main content

PsPing v2.01

By Mark Russinovich

Published: January 29, 2014

Download PsTools (1,644 KB)

Rate:  

Introduction

PsPing implements Ping functionality, TCP ping, latency and bandwidth measurement. Use the following command-line options to show the usage for each test type:

Installation

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

Using PsPing

PsPing implements Ping functionality, TCP ping, latency and bandwidth measurement. Use the following command-line options to show the usage for each test type:

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

-? IUsage for ICMP ping.
-? TUsage for TCP ping.
-? LUsage for latency test.
-? BUsage for bandwidth test.

 

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

-hPrint histogram (default bucket count is 20).
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10").
-iInterval in seconds. Specify 0 for fast ping.
-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.
-nNumber of pings or append 's' to specify seconds e.g. '10s'.
-qDon't output during pings.
-tPing until stopped with Ctrl+C and type Ctrl+Break for statistics.
-wWarmup with the specified number of iterations (default is 1).
-4Force using IPv4.
-6Force using IPv6.

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

 

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

-hPrint histogram (default bucket count is 20).
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10").
-iInterval in seconds. Specify 0 for fast ping.
-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.
-nNumber of pings or append 's' to specify seconds e.g. '10s'.
-qDon't output during pings.
-tPing until stopped with Ctrl+C and type Ctrl+Break for statistics.
-wWarmup with the specified number of iterations (default is 1).
-4Force using IPv4.
-6Force using IPv6.

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

 

TCP and UCP latency usage:

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

client: psping [[-6]|[-4]] [-f] [-u] [-h [buckets | <val1>,<val2>,...]] [-r] <-l requestsize>[k|m]] <-n count> [-w <count>] <destination:destport>

-fOpen source firewall port during the run.
-uUDP (default is TCP).
-hPrint histogram (default bucket count is 20).
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10").
-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.
-nNumber of sends/receives. Append 's' to specify seconds e.g. '10s'
-rReceive from the server instead of sending.
-wWarmup with the specified number of iterations (default is 5).
-4Force using IPv4.
-6Force using IPv6.
-sServer listening address and port.

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

TCP and UCP bandwidth usage:

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

client: psping [[-6]|[-4]] [-f] [-u] [-h [buckets | <val1>,<val2>,...]] [-r] <-l requestsize>[k|m]] <-n count> [-i <outstanding>] [-w <count>] <destination:destport>

-fOpen source firewall port during the run.
-uUDP (default is TCP).
-bBandwidth test.
-hPrint histogram (default bucket count is 20).
If you specify a single argument, it's interpreted as a bucket count and the histogram will contain that number of buckets covering the entire time range of values. Specify a comma-separated list of times to create a custom histogram (e.g. "0.01,0.05,1,5,10").
-iNumber of outstanding I/Os (default is min of 16 and 2x CPU cores).
-lRequest size. Append 'k' for kilobytes and 'm' for megabytes.
-nNumber of sends/receives. Append 's' to specify seconds e.g. '10s'
-rReceive from the server instead of sending.
-wWarmup for the specified iterations (default is 2x CPU cores).
-4Force using IPv4.
-6Force using IPv6.
-sServer listening address and port.

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

Examples

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 8k -n 10000 -h 100 192.168.2.2:5000

This command tests bandwidth to a PsPing server listening at the target IP address for 10 seconds and produces a histogram with 100 buckets. Note that the test must run for at least one second after warmup for a histogram to generate. Simply add -u to have PsPing perform a UDP bandwidth test.
psping -b -l 8k -n 10000 -h 100 192.168.2.2:5000

 


Download PsTools
(1,644 KB)

Download


Download PsTools
(1,644 KB)

PsTools

PsPing is part of a growing kit of Sysinternals command-line tools that aid in the adminstration of local and remote systems named PsTools.

 

Runs on:

  • Client: Windows Vista and higher.
  • Server: Windows Server 2008 and higher.