Windows network testing with NTttcp
Although NTttcp[1] has been around for many years, it is overlooked despite being updated to work with modern equipment (such as 10Gbps connections). Establishing your networks baseline parameters is important when diagnosing network problems: reports of a slow network are subjective and can depend on many factors.
Use in the basic testing sense is easy. Two machines will be involved, the target, which is launched from the command line as (note that you should allow ntttcp through your filewall before running)
ntttcp -r -m 4,0,192.168.1.100
where 192.168.1.100 would be the IP of the interface to test on the target and then on the client
ntttcp -r -m 4,0,192.168.1.100
This test case is setting up 4 threads (-m 4) on processor 0 (,0) which is a good load for testing modern machines. On servers adding -p 20000 to both commands will move the port up out of the default 5001 range, which can conflict with some processes.
An example result:
Thread Time(s) Throughput(KB/s) Avg B / Compl ====== ======= ================ ============= 0 22.672 28669.019 32499.200 1 22.350 28529.460 31881.671 2 22.784 28992.762 33028.554 3 23.394 31395.401 36723.200 ##### Totals: ##### Bytes(MEG) realtime(s) Avg Frame Size Throughput(MB/s) ================ =========== ============== ================ 2619.777847 23.395 1456.244 111.980 Throughput(Buffers/s) Cycles/Byte Buffers ===================== =========== ============= 1791.684 13.534 41916.446 DPCs(count/s) Pkts(num/DPC) Intr(count/s) Pkts(num/intr) ============= ============= =============== ============== 8701.517 9.266 9632.058 8.371 Packets Sent Packets Received Retransmits Errors Avg. CPU % ============ ================ =========== ====== ========== 277431 1886384 7 4 13.270
providing many important statistics. The simplest is a baseline speed for your network (Throughput) on these machines. For network testing I recommend using the fastest machines you have and then working down to slower machines to see what processor speed impact has (in this test, only 13% CPU was used, so this 111 MB/s speed is more limited by networking than CPU).
This test was run on 1Gbps Ethernet and shows 888 Mbps (111 MBps * 8 bits per byte) and is an excellent result, showing the full capacity of the network is available (achieving 89% of capacity was done on a "quiet" network with both machines on the same switch).
[1] http://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769