Update: as many have commented, my testing with /dev/zero might be skewing the results. I’ll be adding a random DVD iso test soon. I have a newborn so give me a sec. I’ll even add the NFS test. :)
@fearthepenguin made an rsync comment that made me curious. He said that rsync in cygwin is faster than native SMB in Windows. Ok I haven’t done this test in a while, let’s get a reminder about how fat SMB is.
SOHO gigabit switch. Ubuntu 9.10 and octo-core 2008 Mac Pro running 10.6. Both pretty fast boxes. Regular SATA drives in each, not very fast I/O. Whatever, network should be the bottleneck.
Get my test file generated.
$ dd if=/dev/zero of=1gb_file.zeros bs=1G count=1
1073741824 bytes (1.1 GB) copied, 133.577 s, 8.0 MB/s
Ignore that 8.0 MB/s. You can do a blocksize trick to make it output a file faster, I just didn’t feel like looking up the switches. Now you can see Mr. 1GB Zero File in all it’s empty and big glory.
$ ls -lh total 1.2G -rw-r--r-- 1 dude herd 1.0G 2010-02-11 12:29 1gb_file.zeros
RSync Copy from ubuntu box to Mac Pro:
$ time rsync -t /tmp/1gb_file.zeros dude@mac:~/tmp real 0m17.694s user 0m11.577s sys 0m3.056s
SMB Mount Mac share from Ubuntu box. Copy same file from ubuntu box to Mac Pro over SMB mount. I never do this. It’s stupid, slow, strips permissions and requires a mount. In the name of science!
# time cp /tmp/1gb_file.zeros /mnt/tmp real 0m32.649s user 0m0.008s sys 0m0.568s
FTP Ok let’s goddamn turn on OSX FTP and test that too. FTP is stupid.
The remote file "1gb_file.zeros" already exists. Local: 1073741824 bytes, dated Thu 11 Feb 2010 12:29:06 PM EST. (Files are identical, skipped)
Hey at least FTP is showing some smarts about it. Or maybe ncftp just rules. I dunno. Deleted it and got FTP time.
$ time ncftpput -u dude -p whoa mac /dest/tmp /tmp/1gb_file.zeros /tmp/1gb_file.zeros: 1.00 GB 39.09 MB/s real 0m26.507s user 0m0.036s sys 0m0.828s
SCP Is SCP any different than rsync?
$ time scp /tmp/1gb_file.zeros dude@mac:~/tmp 1gb_file.zeros 100% 1024MB 42.7MB/s 00:24 real 0m24.303s user 0m9.641s sys 0m2.212s
Weird. It is. I wonder if rsync has compression flags whereas ssh does not without the -C magic switches. You can get SCP to be pretty quick with blowfish or arcfour:
$ time scp -c arcfour /tmp/1gb_file.zeros dude@mac:~/tmp
1gb_file.zeros 100% 1024MB 46.6MB/s 00:22
So RSync is pretty quick and SMB is pretty slow. @fearthepenguin was right.