Performance Zone is brought to you in partnership with:

I specialise MySQL Server performance as well as in performance of application stacks using MySQL, especially LAMP. Web sites handling millions of visitors a day dealing with terabytes of data and hundreds of servers is king of applications I love the most. Peter is a DZone MVB and is not an employee of DZone and has posted 261 posts at DZone. You can read more from them at their website. View Full User Profile

Testing Intel, Samsung and SanDisk SATA SSD

08.29.2013
| 2833 views |
  • submit to reddit

This post comes from  at the MySQL Performance Blog.

While working on the service architecture for one of our projects, I considered several SATA SSD options as the possible main storage for our data. The system will be quite write-intensive, so the main interest is the write performance on capacities close to full-sized storage.

After some research I picked several candidates (prices are, obviously, for the actual date of publication of this post):

  • Samsung 840 Pro, 512GB, the current price is $450
  • Samsung 840 Evo, 750GB, $525. I considered these new SSDs because of the availability of models with large capacity, 750GB-1TB
  • Intel DC S3500, 480GB, $650. This model is more expensive in $/GB, as Intel positions these devices for data center usage
  • SanDisk Extreme II 480 GB, $450. This device caught my attention with good results in some third-party benchmarks

The devices are all attached to an LSI MegaRAID SAS 9260-4i raid controller with 512MB cache, and configured as individual RAID0 virtual devices.

The testing workload I used was random writes with 16KiB block size sent in 8 threads as asynchronous IO on an ext4 file system. Asynchronous IO is used in the most recent MySQL/InnoDB, and theoretically shows the best possible throughput.

For the Samsung 840 Evo I used a 600GiB file size, and for the rest 350GiB, to emulate 70-80% filling.

The results are shown below in a timeline form to illustrate the stability of the performance:
timeline

The results in a jitter form with a median throughput:
jitter

My thoughts on these results:

  • I frankly expected more from Samsung devices, but they ended up below 50MiB/sec in random writes.
  • SanDisk is definitely attractive for absolute throughput, but significant instability is a concern.
  • Intel shows performance, but also it is the most expensive.

So I am going to run further tests on the Intel and SanDisk drives to find out which one is more suitable for our needs.

For reference, here's the script I used for tests:

sz=350G
sysbench --test=fileio --file-total-size=$sz --file-num=64 prepare
sysbench --test=fileio --file-total-size=$sz --file-test-mode=rndwr --max-time=180000 --max-requests=0 --num-threads=8 --rand-init=on --file-num=64 --file-io-mode=async --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 --report-interval=10 run
Published at DZone with permission of Peter Zaitsev, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)