Author Archives: Vadim Tkachenko

Testing the Micron P320h

The Micron P320h SSD is an SLC-based PCIe solid-state storage device which claims to provide the highest read throughput of any server-grade SSD, and at Micron’s request, I recently took some time to put the card through its paces, and the numbers are indeed quite impressive.

For reference, the benchmarks for this device were performed primarily on a Dell R710 with 192GB of RAM and two Xeon E5-2660 processors that yield a total of 32 virtual cores.  This is the same machine which was used in my previous benchmark run.  A small handful of additional tests were also performed using the Cisco UCS C250. The operating system in use was CentOS 6.3, and for the sysbench fileIO tests, the EXT4 filesystem was used.  The card itself is the 700GB model.

So let’s take a look at the data.

With the sysbench fileIO test in asynchronous mode, read performance is an extremely steady 3202MiB/sec with almost no deviation. Write performance is also both very strong and very steady, coming in at a bit over 1730MiB/sec with a standard deviation of a bit less than 13MiB/sec.

realssd-asyncIO

When we calculate in the fact that the block size in use here is 16KiB, these numbers equate to over 110,000 write IOPS and almost 205,000 read IOPS.

When we switch over to synchronous IO, we find that the card is quite capable of matching the asynchronous performance:

syncIO-throughput

Synchronous read reaches peak capacity somewhere between 32 and 64 threads, and synchronous write tops out somewhere between 64 and 128 threads. The latency numbers are equally impressive; the next two graphs show 95th and 99th-percentile response time, but there really isn’t much difference between the two.

syncIO-latency

At 64 read threads, we reach peak performance with latency of roughly 0.5 milliseconds; and at 128 write threads we have maximum throughput with latency just over 3ms.

How well does it perform with MySQL?  Exact results vary, depending upon the usual factors (read/write ratio, working set size, buffer pool size, etc.) but overall the card is extremely quick and handily outperforms the other cards that it was tested against. For example, in the graph below we compare the performance of the P320h on a standard TPCC-MySQL test to the original FusionIO and the Intel i910 with assorted buffer pool sizes:

tpcc-mysql-devicecompare

And in this graph we look at the card’s performance on sysbench OLTP:

sysbench-oltp-ext4xfs

It is worth noting here that EXT4 outperforms XFS by a fairly significant margin. The approximate raw numbers, in tabular format, are:

- EXT4 XFS
13GiB BP 22000 7500
25GiB BP 17000 9000
50GiB BP 21000 11000
75GiB BP 25000 15000
100GiB BP 31000 19000
125GiB BP 36000 25000

In the final analysis, there may or may not be faster cards out there, but the Micron P320h is the fastest one that I have personally seen to date.

Intel SSD 910 in tpcc-mysql benchmark

I continue my benchmarks of Intel SSD 910, the raw IO results are available in my previous experiment. Now I want to test this card under MySQL workload to see if the card is suitable to use with MySQL.

  • Benchmark date: Sep-2012
  • Benchmark goal: Test Intel SSD 910 under tpcc-mysql workload and compare with baseline Fusion-io ioDrive card
  • Hardware specification
    • Server: Dell PowerEdge R710
    • CPU: 2x Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
    • Memory: 192GB
    • Storage: Fusion-io ioDrive 640GB, Intel SSD 910 (software RAID over 2x200GB devices)
    • Filesystem: ext4
  • Software
    • OS: Ubuntu 12.04.1
    • MySQL Version: Percona Server 5.5.27-28.1
  • Benchmark specification
    • Benchmark name: tpcc-mysql
    • Scale factor: 2500W (~250GB of data)
    • Benchmark length: 2h, but the result is taken only for last 1h to remove warm-up phase
  • Parameters to vary: we vary innodb_buffer_pool_size: 13, 25, 50, 75GB to have different memory/data ration. And we test it on two storages: Fusion-io ioDrive and Intel SSD 910
  • Results
    There is graph of Throughput taken every 10 sec:

    Jitter graph:

    Or to have final results I take total amount of transactions for 1h:

    BP size Fusion-io Intel SSD 910 Ratio (fio/i910)
    13 GB 397157 352750 1.13
    25 GB 724011 497769 1.45
    50 GB 1466559 1124223 1.30
    75 GB 2464135 1939415 1.27

    Conclusion

    In conclusion I see that Intel SSD 910 handles MySQL workload quite well, I did not face any problem working with this card.
    Level of stability of results is about the same as with Fusion-io card. The performance of Intel SSD 910 is about ~30% worse, but
    it is expected for this price level. I think Intel SSD 910 is suitable to use with MySQL / Percona Server.

    Link to raw results and stats
    Raw results, config, OS and MySQL metrics are available from Benchmarks Launchpad.

    Testing Intel® SSD 910

    Intel came on PCI-e SSD market with their Intel SSD 910 card. With a slogan “The ultimate data center SSD” I assume Intel targets rather a server grade hardware, not consumer level.
    I’ve got one of this card into our lab. I should say it is very price competitive, comparing with other enterprise level PCIe vendors. For a 400GB card I paid $2100, which gives $5.25/GB. Of course I’ve got some performance numbers I’d like to share.

    But before that, few words on the card internals. Intel puts separate 200GB modules, so 400GB card is visible as 2 x 200GB devices in operation system, and 800GB card is visible as 4 different devices. After that you can do software raid0, raid1 or raid10, whatever you prefer.

    For my tests I used single 200GB device and pair combined in software raid0 (Duo).

    For raw performance IO I follow scripts I used for other reviews, i.e. Testing Intel SSD 520

    First results are for asynchronous writes:

    The result averages at 150 MiB/sec for single device and at 250 MiB/sec for Duo.
    I find it interesting, as on SATA based Intel 520 I was able to get 300 MiB/sec.

    Now asynchronous reads:

    The result line is quite stable and is 270 MiB/sec for single drive, and 530 MiB/sec for Duo.
    In the same workload for Intel 520 : 370 MiB/sec.

    Now we are getting to synchronous reads, to see how many threads we need to reach peak throughput and check corresponding response times:

    Throughput:

    Response time:

    I would say for single device the throughput peaking at 8 threads with 95% response time 0.68ms, and for Duo at 16 threads with 0.84ms

    In conclusion I can say that I have mixed feelings after this experiment. On the one hand the performance results are definitely lower than on alternative PCIe cards available on market, but on the other hand the price is absolutely attractive.

    I am going to run more corresponding MySQL-based benchmarks to see how the card is compared to alternatives under database workload.

    Testing Fusion-io ioDrive – now with driver 3.1

    In my previous post with results for Fusion-io ioDrive we saw some instability in results, I was pointed that it may be fixed in new drivers VSL 3.1.1. I am not sure if this driver is available for everyone – if you are interested, please contact your Fusion-io support representative. I installed new drivers and firmware, and in fact, the result improved.
    Continue reading

    Testing Fusion-io ioDrive

    Following my series of posts on testing different SSD, in my last post I mentioned that SATA SSD performance is getting closer to PCIe cards. It really makes sense to test it under MySQL workload, but before getting to that, let me review the same workload on Fusion-io ioDrive PCIe card. This is yet previous generation of Fusion-io cards, but this is the one that has biggest installation base.
    Continue reading