While I like performance provided by PCI-E cards like FusionIO or Virident tachIOn, I am often asked about SATA drives alternatives, as price of PCI-E cards often is barrier, especially for startups. There is wide range of SATA drives on market, and it is hard to pick one, but Intel SSD are probably one of most popular, and I’ve got pair of Intel 320 SSD 160GB to play with it.
Probably most interesting characteristic for SSD for me is Random Write throughput in correlation with file size , as it is known that the write throughput declines when you use more space.
In this post I will test (using sysbench fileio) single Intel 320 SSD card with different filesize ( from 10 to 140 GiB, with step 10GiB). Filesystem is XFS and IO blocksize is 16KiB.
I posted all scripts and results on our Launchpad project where you can find
- Script to run benchmark
- System summary
- Information from Intel 320 SSD card
- Raw results
- Helper R script used to build graphs
I used next methodology for testing: format xfs, run 1 hour random write test with measuring throughput each 10 sec.
The results are bit tricky to analyze, as throughput performs in this way (for 100GiB filesize)
You can see that just after format throughput starts with 80MiB/sec, then drops to 10MiB/sec and after about half of hour stabilizes on 30MiB/sec level.
We can build the same graph (time -> throughput) for all filesizes we have:
where you can see that throughput drops from 100 MiB/sec for 10GiB file to 15MiB/sec for 140GiB file.
For reference I added result from similar benchmark for RAID10 over 8 regular spinning SAS 15K disks, which is around 23MiB/sec.
From graph we see that all results are stabilized after 2500 sec, and if we get slice of data after 2500 sec, the summary graph ( size -> throughput) looks like:
This graph allows to get idea what is throughput for given filesize much easier.
E.g. for 70GiB files, we have 40MiB/sec and for 120GiB file, it is 20MiB/sec.
Some conclusions from these results:
- Intel 320 SSD performance is affected by amount of used space. The more space used – the worse performance
- Throughput may drop very intensively, e.g. from 10GiB to 20GiB it drops by 20%
- When you run benchmark on your own, take into account time needed to get stabilized result. It may take over half of hour for some cases
In final I want to give credit to R projects and ggplot2 which are very helpful for graphical analyzing of data.



I think it would be nice to do this same benchmark with a 15K SAS drive so that it’s easy to compare the difference between a typical setup and what most people would like to move toward.
Michael,
I do not have single disk, but I added line for RAID10 over 8 disks.
Vadim,
Does performance depend on the amount of used space? I.e. is the speed of 10GiB file the same on empty and on almost full SSD drive?
Vadim, can you comment on the write endurance of this SSD? The official Intel spec rates it at 5 years at 20GB/day which totals to 30TB of data over the life of the SSD, which seems low. Is this suitable for use with innodb?
Hey Vadim – I wonder if its possible to do a write up of best practices for my.cnf for SSD. For example innodb log size, file per table etc with SSD in mind. Also its been a while since the high performance mysql book came out so an update best practices based on mysql 5.5 (or 5.1 with innodb plugin) will be great
Hi,
Just commenting to say I cannot see the images in this post and when I click on them I get a 404.
Cheers
Stephen
Sadly, all the pictures are missing from this post…
hi,
it seems all graphs are missing in this article and e.g http://www.ssdperformanceblog.com/2011/06/fusionio-320gb-mlc-random-write-performance/
We had problem with servers
http://www.mysqlperformanceblog.com/2011/07/19/server-outages-at-percona/
Now graphs are restored
There is also a reliability problem associated to this model, in case of power loss. Be cautious. See and then
There is also a reliability problem associated to this model, in case of power loss. Be cautious. See intel_320_ssd_bug_reports and then intel_ssd320_bug_fix
This looks very interesting. I’m actually in the process of deciding a local storage configuration for Dell R710 vm servers ( don’t need shared storage ), and I’ve been debating whether to do the standard:
6 x 600GB 15k drives with a n H700 controller
or ( using a bigger chassis ):
6 x 300Gb Intel 320′s in raid 5 ( and since these are 2.5, use the extra two slots for dual 1TB satas for slow storage).
Was wondering if you had tested a raid 5 array of intel 320′s and compared it to that baseline array of 8 x 15k drives you mentioned. I’d be mostly concerned with how bad the random write performance would be. Thanks
Would it be possible to publish results with more than one write thread? I know with PCI-e cards it increases throughput dramatically.
That is true for PCI-e card, but for Intel SATA SSD I found that multiple write threads do not show much improvements, or even show worse results.
I will consider to show multiple threads results in my next runs.
It’s good to see a test that does not involve Sequential Read and Write which the manufacturers always quote due to the high figure, which looks better, rather than being a valuable characteristic as this is rarely used.
i just want to know which version of sysbench had been used in this benchmark,thanks
It is sysbench 0.5