Mac OS X slow network performance to Windows XP

Network Icon

My Mac Pro arrived. Victor and Adam came over to help me get things set up, but there really wasn't much to do because I had already installed a bunch of software. We did, however, do some serious geeking out with Aperture (cool workflow! slow as shit!) and Final Cut Pro Studio, which simply eats up HD streams on the Mac Pro. However, one thing I noticed immediately is that I could copy files at around 30MB/s across my gigabit network if the Mac Pro was talking to one of my Infrant ReadyNas boxes (AFP), but as soon as I tried to copy to or from Windows XP using SMB, network traffic slowed to a crawl. I was unable to transfer data faster than 4MB/s, which is 1/2 of real-world 100Mbps. Luckily, I found a fix late last night.

I did some investigating online and discovered that some Windows boxes don't like ACK delay. I also read that the slow network performance might also be an IPv6 compatibility issue. So here's what I did:

  1. disabled IPv6 on Mac OS X (System Preferences->Network->Configure->Configure IPv6->Off)
  2. uninstalled ipv6 on Windows XP via command line: netsh interface ipv6 uninstall
  3. on MAC OS X, set ACK no delay by adding socket options = TCP_NODELAY IPTOS_LOWDELAY to your /etc/smb.conf file.

Now I'm getting around 30MB/s when copying between MAC OS X and Windows XP boxes, which is good. But man, what a pain in the ass to get these machines talking.