Linux – Measuring network performance between Windows and Linux

iperflinuxwindows

I'm using iperf to estimate network performance between Windows and Linux.

For TCP iperf shows 312 Mbits/sec from a Linux server to a Windows client, but it shows only 160 Mbits/sec from a Windows server to a Linux client.

For UDP iperf shows 147 Mbits/sec and 82% loss from a Linux server to a Windows client, but it shows 92 Mbits/sec and 0% loss from a Windows server to a Linux client.

I can't uderstand why iperf result is different when I change the direction from "Linux->Windows" to "Windows->Linux".

Could anyone please explain me why it happens and what is it related to? Thanks.

I have 1Gb network and:
1) Windows XP SP3, iperf 2.0.4 win32 threads;
2) Ubuntu 11.04 Server, iperf 2.0.5 pthreads

Best Answer

Sounds like either a speed or duplex mismatch. Check the duplex settings on both adapters. I would ensure they are set to auto-negotiate.

Per Greg Ferro "Gigabit Ethernet must have auto-negotation ENABLED to allow negotiation of master / slave PHY relationshitwhp for clocking at the physical layer. Without negotiation the line clock will not establish correctly and physical layers problems can result."