# Win32 TCP/IP Performance Test Tool

W32PERF is a software utility for testing the performance of network components connecting computers supporting the Win32 API (that is, Windows NT and Windows 95).

There are four version of W32PERF.EXE; one for each of the processor types supported by Windows NT. Use the version appropriate for your platform.

W32PERF is an ordinary Win32 application program that tests the performance of network components by sending data over a TCP/IP connection. This means that you can use W32PERF to test any combination of networking hardware.

### Using W32PERF

W32PERF requires you to use one computer as a server and one or more other computers as clients.
Start W32PERF on the server first with the command:
w32perf

If you are using only one client, start W32PERF on the client with the command:
w32perf -c a.b.c.d
where a.b.c.d is the IP address of the server.

If you are using multiple clients on all but the last client, start W32PERF with the command:
w32perf -c a.b.c.d -n
The -n parameter tells W32PERF that this is not that last client to join in on the test.

For the last client, start W32PERF with the command:
w32perf -c a.b.c.d

W32PERF will now run for about a minute. At the end of the test run, the server will display a table of results showing the read and write performance of the network. If you are using multiple clients, then results for each client will be displayed along with the aggregate performance.

### Controlling the tests

There are several extra parameters listed below that allow some control over how W32PERF carries out its performance tests.

-c server: Describes this computer as a client and 'server' is the IP address of the server.

-b base: Sets the smallest transfer size to 'base' (default 131072).

-l limit: Sets the largest transfer size to 'limit' (default 131072).

-i inc: Sets the transfer size increment to 'inc' (default 256).
The range for 'base', 'limit' and 'inc' is 256 to 131072 and the value must be a multiple of 256.

-v level: Sets the verbocity level to 'level' (range 0 - 4, default 2).\n")

-r: Run only the client read tests.

-w: Run only the client write tests.

-n: Means that this is not the last client to take part in the test.

-z nnn: Use nnn * 25 MBytes of data for each test cycle (range 1 - 80, default 1).