All these disks and stuff have me confused about what fast transfer rates are. Here’s some numbers, mostly practical rates, not theoretical. All numbers are Megabits / second. See also the Wikipedia List of device bit rates.
- 168,000: RAM for an i7-2600 (theoretical) (ref)
- 10,000: HDMI v1.3
- 6400: PCI (64 bit, 100MHz)
- 5000: USB 3.0 (theoretical)
- 4800: 6.0Gbit SATA
- 2400: 3.0Gbit SATA
- 800-4000: SSD drives (ref)
- 1000: 7200 rpm hard drive disk-to-buffer (ref)
- 1000: gigabit ethernet
- 800: IDE, UDMA 5 aka Ultra ATA/100 (ref)
- 250-480: USB 2.0 hard drive (ref)
- 100: 100M ethernet
- 30: fast US home Internet
- 20: 802.11g wifi (ref)
- 12: USB 1.0
- 6: my crappy home DSL
- 1: AT&T 3G downloads (ref)
- 0.05: old acoustic modems
Bottom line: USB 2.0 is a little slower than a desktop hard drive. And SATA is significantly faster than a hard drive. I wish I could narrow the SSDs down, I think performance on those things varies quite a bit. My friend Lars just built a RAID 5 array of SSDs that’s showing about 10,000 Mbit/sec.
Some practical tests on my brand new Sandy Bridge server with 7200 RPM disks plugged into SATA/6 and formatted ext4fs. All numbers are Megabits/second
- 1000: hdparm -t, testing disk read throughput from the platter
- 110,000: hdparm -T, testing read from RAM cache (ie: never touching SATA or disk)
- 1088: writing 16 gigs of zeroes
dd if=/dev/zero of=zeros bs=1M count=16384
- 440: copying 16 gigs of zeroes on a single drive
dd if=zeros of=zeros3 bs=1M
- 872: copying 16 gigs of zeroes from one drive to another. Parallelism!
dd if=zeros2 of=/tmp/zeros bs=1M
- 570: rsyncing 300 gigs of files from a FAT32 drive over USB-3 to an SATA/6 drive.
- 20,000: writing 1 gig of zeroes. ext4fs must fully cache this before commit
dd if=/dev/zero of=zeros5 bs=1M count=1024
- 88: creating a file of random bits from /dev/urandom. I had no idea that driver was that slow.
These tests are all for big files. Linux gets a lot slower when dealing with lots of little files. Running rsync from a USB 2 disk copying to an SATA disk I’d see a factor of 10 difference in disk throughput between giant files and lots of tiny files.