Testing a Gateway by Using the Winsock Performance Test
Other versions of this page are also available for the following:
8/27/2008
The following table shows the hardware requirements for using the Winsock Performance Test to test the throughput of a Windows Embedded CE–based gateway.
Requirement | Description |
---|---|
Windows Embedded CE–based gateway with two network cards |
A Windows Embedded CE-based gateway with two network interfaces installed. One network interface connects to a private LAN, and the other network interface to a public WAN. You can optionally install a third network interface over which the Windows Embedded CE–based device communicates with the development workstation running Microsoft Platform Builder and the Windows Embedded CE 6.0 Test Kit (CETK). |
Two supporting desktop computers, each with one network card |
Two Windows–based desktop computers, each of which functions as a supporting desktop computer. On each supporting desktop computer, install an Ethernet network interface that communicates with a network interface on the Windows Embedded CE–based gateway. Connect one Ethernet network interface on the Windows Embedded CE–based gateway to a switch to which you also connect the Ethernet network interface for one supporting desktop computer. Connect the second Ethernet network interface on the Windows Embedded CE–based gateway to a second switch to which you also connect the second supporting desktop computer. If the tested interface is a 100-megabits per second (Mbps) adapter, use a 100-Mbps switch and use a 100-Mbps adapter on the supporting desktop computer. Alternatively, use an Ethernet crossover cable to connect each Ethernet interface on the Windows Embedded CE–based device to the Ethernet interface for the supporting desktop computer. You can use the development workstation on which Platform Builder is installed as a supporting desktop computer. Install two network interfaces on the development workstation. One network interface is the supporting network interface that communicates with the Windows Embedded CE–based device. The second network interface is the interface over which Platform Builder and the CETK communicate with the Windows Embedded CE–based device. |
Two Ethernet hubs or switches, or two Ethernet crossover cables |
If you use a hub or switch, connect to the hub or switch only the target device being tested, the supporting desktop computer, and any other device required by the test. Test results can be significantly affected by sharing the network connection with devices other than those devices used in the test. |
Before running the test, verify the stability of the hardware link and the network miniport driver. Microsoft recommends that you use a physical network interface to evaluate the performance of the network driver and the gateway. Do not use the VMini virtual network adapter with the Winsock Performance Test because the results generally do not represent the maximum possible throughput for the gateway.
Verify that the supporting desktop computers can exchange data at a rate that is at least as high as the maximum rate at which gateway can route packets. It is best if the desktop computers can exchange data at the maximum rate supported by the network infrastructure when connected with no gateway through a hub, switch, or with an Ethernet crossover cable.
To test a gateway by using the Winsock Performance Test
Copy the Perf_winsockd2.exe file from <Platform Builder installation path>\Cepb\Wcetk\Ddtk\Desktop to the supporting desktop computer on the WAN side of the gateway, which functions as a server.
Typically, you put the server on the WAN side of the gateway so that the client can make the initial connection to the server and initialize the network address translation (NAT) mappings that are required for the server to reply to the client and run the test. If you put the client on the WAN side, the client cannot establish the initial connection unless, on the gateway, you configure NAT with a Perimeter Network, disable the firewall, and so on.
From <Platform Builder installation path>\Cepb\Wcetk\Ddtk\Desktop, copy the following files to the supporting desktop computer on the LAN side of the gateway, which functions as a client:
- Tux.exe
- Kato.dll
- Perflog.dll
- Perf_winsock2.dll
To ensure that TCP throughput is not capped by TCP window size, use the following registry setting to adjust the TCP window size to 64 kilobits (Kb) on both supporting desktop computers:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
TCP window size differs for the Windows Embedded CE operating system (OS) and a Windows–based desktop OS. TCP window size also differs for some Windows–based desktop OS versions. TCP window size restricts the amount of data that a sender can send to a receiver at one time without waiting for a delayed acknowledgment (ACK). TCP window size that is not sufficiently large for a network path limits the rate at which data can move between peers. The presence of a gateway in the path that connects two peers might introduce sufficient latency for TCP throughput to be capped by the TCP window size rather than the routing speed of the gateway.
On the desktop computer on the WAN side of the gateway, run the following command:
perf_winsockd2 -debug
On the desktop computer on the LAN side of the gateway, run the following command:
tux -o -d perf_winsock2 -x test_case -c"-s server_ip -i ip_version "
Note
If desired, you can append -q udp_recv_queue to the above command to set the UDP receive queue size.
For information about the test cases for the Winsock Performance Test, see Test Cases for the Winsock Performance Test.