Skip to main content

Benchmarking Disk Latency: Setup


One of the topics that comes up over and over at Datastax is how to choose the right disk systems to go with Cassandra. While Datastax provides guidance on this issue, a lot of customers still want to know why: why not use 3T SATA drives? Why are SSDs so great? What is the difference between 15k NL-SAS and a consumer-grade SSD? To answer these questions, I'm running a bunch of benchmarks on the disks with a focus on latency.

One of the most important restrictions I've placed on the project is that all of the tests in the first series are going to be run on the same machine. It is a single-socket Xeon workstation I've had for a couple years. I moved most of my personal data off of this machine for this project because this system is the closest thing to a server that I can tolerate sharing a room with.

Component Quantity Brand/Model
Case 1 Cooler Master HAF XB EVO
Power Supply 1 COOLMAX CU series CU-700B 700W
Motherboard 1 Intel S1200BTL
CPU 1 Intel Xeon E31270 3.4Ghz
Memory 4 Kingston KVR1333D3E9SK2
Root Drive 2 Seagate ST9500530NS Enterprise SATA
Graphics 1 XFX Radeon 6450 2GB
PCIe SSD 1 FusionIO ioDrive II
PCIe SAS 1 LSI Logic LSI00346 9300-4i SGL
SAS chassis 1 Thermaltake RC1400101A MAX-1542

Here's /proc/cpuinfo, lspci -v, and dmesg

That's the base spec. For SATA drives, I attached an eSATA port to one of the 6G/s ports and have an tray set up for quick swapping. So far, the hotplugging in Linux seems to work fine. In the picture above, it's sitting left of the red air can.

On my machines at home, I run Arch Linux. This machine is not an exception. It might make sense to use a more common server distro, but for now I'm sticking with Arch and will not be updating the system once testing begins.

I don't have all the drives yet.  The FusionIO card is a loaner courtesy of FusionIO. Most of the spinning drives are from my personal collection. Datastax paid for the Samsung SSD. I'll be buying a few more once I get through the drives I have so I can cover a couple more SAS options and a couple more SSDs. Here's the lineup so far:

Samsung 840 Pro 128GB (2.5" SATA SSD)
FusionIO ioDrive II (PCIe 8x SSD)
Western Digital WD2500KS (3.5" SATA 7,200RPM)
Seagate ST9500430SS (2.5" SAS, will also test RAID10 on these)
Western Digital Velociraptor WD3000BLFS (2.5" SATA 10,000RPM)
Western Digital WD5002AALX (3.5" SATA 7,200RPM, also RAID1)

For giggles, I'm going to add in a couple USB drives, a CF card, and some older 5400RPM laptop drives.

At this point everything is ready to go. I'll be tweaking the machine a little more over the weekend and start testing on Monday. I figure it'll take a couple days to dial in the benchmarks. If you have any benchmark or drive suggestions, let me @AlTobey or know.