October 24, 2014

Testing STEC SSD MACH16 200GB SLC

Following my previous benchmark of Samsung 830, today I want to show results for STEC MACH16 SATA card, 200GB size, this card is based on SLC, and regarding STEC website, it is an enterprise grade storage.

For tests I use sysbench fileio, 16KiB block size (to match workload from InnoDB, as this is primary usage for me), and recently I switched to use async IO mode. There are two reasons for that. First, MySQL/InnoDB uses async writes, so this will emulate database load, and second, async mode allows to see maximal possible throughput, it does not show reliable latency though, as it appears there is no a reliable way in the Linux asynchronous IO library to get time metrics for particular IO block.

so my testing command line looks like:

You may see I gather metrics every 10 sec to see how stable the performance is, and it really helps to observe some artifacts, as you will see in following graphs.

Hardware for tests: HP ProLiant DL380 G6, filesystem: ext4, mounted with nobarrier.

The results for random write case (8 async IO threads):

In general it shows stable throughput topping to 148 MiB/sec, but every 20 min, there is small drop to 87 MiB/sec, which I guess is related to internal garbage collector activity.

The results for random read case:

Very stable throughput on line 222 MiB/sec

To understand better what kind of response time we should expect, I ran random read sync IO mode, now for 1-64 threads.

The throughput:

We are getting to the peak throughput at 8 threads.

And response time:

For 8 threads, we may expect 0.62ms response time.

In general I have very good experience with this card, and it seems suitable to work with MySQL. I will publish sysbench oltp benchmarks running MySQL on RAID10 over 4 STEC MACH16 cards.

If you are interested more in SSD and MySQL questions – I will be giving a webinary “MySQL and SSD” on May-9. It will be the same as my talk on Percona Live MySQL Conference 2012, if you did not attend my talk – you are welcome to join the webinar.

Disclaimer: This benchmark is done as part of consulting work for STEC, but this post is totally independent and fully reflects our opinion.


About Vadim Tkachenko

Vadim leads Percona's development group, which produces Percona Clould Tools, the Percona Server, Percona XraDB Cluster and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.

Comments

  1. Vojtech Kurka says:

    Vadim, can you please tell me, how long are the stalls observed in the write benchmark? I assume in the worst case, the stall could long for about 4 seconds (40% drop in throughtput, measured in 10 sec intervals).
    4 second stall would be quite nasty for any busy MySQL instance.
    BTW, the graph doesn’t show stall every 20 sec, maybe it’s just a typo? (every 20 sec, there is small drop).

    One more question – does this drive have any capacitors to survive power outage like Intel 320?

    Thank you, Vojtech

  2. Vadim,

    Extending Vojtech question – I think current methodology does not provide enough details. The dips to 90MB from 150MB might be drive just actually going slower – 90MB/sec for these 10 seconds or it could stall for 4 seconds out of 10 completely and when perform with normal performance the rest of time. The fact drops are relatively even all the time makes it more likely it is second case as having slowdown for longer interval of time would make dips very different depending on overlap with measurement interval.

    I think it would be very interesting to plot the graph of 95% response time (which sysbench provides) for each of 10 second intervals too. This would show differently if it is just uniform slowdown – 95% should be just couple of times higher than normal or stall in which case 95% should be very high.

  3. Vojtech,

    It is hard to say how long the stall is, I have only 10 sec granularity.
    it is a type on ’20 sec’ – it should be every ’20 min’.

    I do not know about capacitors – usually it is not mentioned in specification. I assume that ‘enterprise grade’ storage should come with power loss protection, but I also learnt that ‘assuming’ is bad practice. I will try to get an information from STEC.

  4. Peter,

    As I mention, I can’t provide response time graph for async IO, sysbench can’t measure time for each IO in async mode.

  5. Vojtech Kurka says:

    OK, thank you Vadim!
    In my point of view, SLC SATA drives are usually much more expensive, so I would prefer MLC SATA for light workloads or PCI-Express drives for more write intensive load.
    By the way, Percona benchmarks seem to be the only freely available SSD benchmarks that are useful, I appreciate that!

  6. Vojtech,

    I checked with STEC, the cards have capacitors to protect data in power outage.

  7. Vadim. Got it thought I wonder if this is something which is possible to do or not.

    Also as you will be testing with real database workloads it should become possible to do that. My main point was to note even though throughput graphs are a lot better than average throughput measure over long time they still do not show the difference between slowdown and short stalls.

  8. thank you, the graphs are really good

  9. stationära recensioner – Få senaste uppdateringarna på Basta stationära på NoricHarware.com. Vi håller er uppdaterade på senaste och bästa stationära och laptots.

Speak Your Mind

*