Summary

I'm optimizing a system in which synchronous disk writes are a key factor in performance. My current drives are too slow. I have a single Intel 520 drive that performs well enough (<1ms), but I need five drives. I bought five Intel 530 SSDs in hopes they would perform like the Intel 520, but instead they take 10ms to write a single byte to disk under various versions of Linux. Curiously, if I connect the Intel 530 drives over a USB-to-SATA adapter instead of using SATA directly, they're much faster (~200us per write). What's wrong?

 

Microbenchmark

Here's my microbenchmark:

 

I normally run this on ext4. (I've tried it on a raw device as well; see negative results section below).

 

Machines

These are the machines I've tried. The Intel 530 over SATA takes 10ms per write on each of these, and other SSDs take <1ms per write on each of these.

nametypedescriptionmodeldistrokernelSATAUSBPurchased
rc66serverThis is the machine type I'd like to use (we have 80 of them).Supermicro xxRHEL62.6.323gbps2.02011
rcmonsterserverThis is a newer, beefier machine with Intel 520 drives, but also stuck on RHEL6.Intel xxRHEL62.6.326gbps 2013
flygeckodesktopThis is a newer desktop machine with a newer version of Linux.Supermicro xx?Arch3.12  2013
x1laptopThis is a laptop with a newer version of Linux.Lenovo Thinkpad X1 CarbonDebian Jessie3.12mSATA 6gbps3.02012

 

Disks

 

These are the disks I've tried:

modelqtyperformance
Crucial M4160 
Intel 5202 
Intel ?? on flygecko1 
Intel 5305 
Intel 530 attached over USB-to-SATA adapter1 
Cheap USB thumb drive1 

 

Negative Results

Additional Questions

blktrace measurements


btt