Host system is linux FC6 and my guest system is also FC6 using VMWare server. But this also could be a Debian host and a WXP guest system.
I am using the bridged networking option and everything works great except for one very annoying thing.
Network transfers moving files from host->guest over the network is incredibly slow something <1KB/s.
This is independant of protocol, I’ve tried scp, ftp, and samba.
Transfering files using the above protocols from the guest->host is fine getting something in the order of 4000-7000 KB/s.
There is a solution to this problem…
For anyone else with a similar problem:
Problem is caused by TCP Segment OffLoading of the intel e1000 network card I’m using on my host (although the problem occurs in other 1gig or 10gb cards too). Even though the information I found suggests the relevant bugs were fixed in kernel 2.6.12 (I’m using 2.6.18-1.2849.fc6) I got instant results turning it off.
HOW turn it off in Windows: look under advanced network properties of the card, its called ‘large send’ and set to none.
HOW turn it off in linux: download a useful tool called ‘ethtool’ and run ‘ethtool -K eth0 tso off’ where eth0 is whatever network interface u are using.
Doing this will (or should) reduce your network throughput although this will greatly increase stablility.
My tests actually show this has improved throughput with spectaculair results on my system. Before this change a 14Mb file took about 4 minutes to be copied, now it only takes about 3 seconds. Hurray!
Leave a Reply