• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Gigabit connection - Much slower in one direction?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

bLack0ut

Member
Joined
Dec 21, 2004
I have two computers with gigabit nics (both onboard) connected to a gigabit switch. Jumbo frames are enabled.

One is running Windows XP, and the other is running Slackware 13.0. I install iperf on both of them, and just ran some quick tests. When I transfer data from the Windows computer to the Linux computer, I get a solid ~915 Mb/s. However, when I transfer data from the Linux to the Windows, I get ~660 Mb/s.

The Windows PC has Realtek 8168 onboard gigabit from the Gigabyte EP35-DS3R and the Linux PC has Realtek 8111C onboard gigabit from the Gigabyte MA785GM-US2H.

I just checked the driver in XP, and jumbo frames is capped at 4K MTU. But that doesn't explain why the speed isn't the same both ways?
 
thats odd that it would be different depending on the direction. Regardless try transferring the same large file between the two computers to see if there are any difference when transferring actual data.
 
I have two computers with gigabit nics (both onboard) connected to a gigabit switch. Jumbo frames are enabled.

One is running Windows XP, and the other is running Slackware 13.0. I install iperf on both of them, and just ran some quick tests. When I transfer data from the Windows computer to the Linux computer, I get a solid ~915 Mb/s. However, when I transfer data from the Linux to the Windows, I get ~660 Mb/s.

The Windows PC has Realtek 8168 onboard gigabit from the Gigabyte EP35-DS3R and the Linux PC has Realtek 8111C onboard gigabit from the Gigabyte MA785GM-US2H.

I just checked the driver in XP, and jumbo frames is capped at 4K MTU. But that doesn't explain why the speed isn't the same both ways?

What is the maximum MTU your switch can handle? 9000 bytes? What is the MTU of your Slackware 13.0 box set to? 9000 bytes?

Here is what might be happening:

Your Windows machine sends packets out at its maximum MTU 4000 bytes. Your Slackware box accepts them because they are <= its MTU. When you send in the opposite direction, Slackware to Windows, one of two things could be happening. The Slackware box sends a 9000 byte packet and the Windows box has to fragment it, or the Slackware box sends a 9000 byte packet with the DF bit set and the Windows box sends an ICMP Type 3 message back with its MTU and the Slackware box has to resend.

Long story short set the MTU on your Slackware box to 4000 bytes and retry the test.
 
Back