Dell SSD options and 3rd party SSDs in Dell hardware

Anyone have any experience with Dell's SSDs?

We're looking at using them for a machine running a key value database like Tokyo Tyrant.

They're expensive as well as being pretty small. Only 25/50GB for $850/$1700. Is there any magic to them that they may perform better than a $400 128GB SSD from Intel? Enough to justify the cost and size gap?

They seem to only want you to put them in the new R610 for some reason... curious...

Additionally, has anyone had any luck with 3rd party SSDs in Dell hardware?

Thanks, Nathan


Solution 1:

SSD Drive: OCZ Vertex EX 60 GB SATA II 2.5 Inch SSD

By all accounts it is the most popular/best reviewed single-level cell SSD drive available for 'Enterprise' applications. Their literature claims for the 60GB model:

  • Read: Up to 260 MBs
  • Write: Up to 200MBs
  • Sustained Write Up to 100MBs
  • Seek Time: Less Than .1ms

There is a really excellent benchmark and review here.

HDD Drive: Western Digital Blue Caviar 80GB SATA II 7200 RPM Drive

This is a typical drive we'd find in our systems. Literature claims:

  • Sustained Read & Write up to 70MB/s
  • Average Seek Time: 4.2ms

The test machine is a Dell SC1425, 2x3.6GHz Xeons, 16GB of RAM.

Created fileio test data thus (data on both HDD and SSD drives):

sysbench --test=fileio --max-time=60 --max-requests=1000000 --file-num=10 --file-extra-flags=direct --file-fsync-freq=0 --file-total-size=50G prepare

Created mysql test data thus (data on both HDD and SSD drives):

sysbench --test=oltp --db-driver=mysql --mysql-socket=/tmp/mysql.sock --mysql-db=test --mysql-table-engine=innodb prepare

Note: a 2.5" in a 3.5" adapter chassis (makes 2.5" drive fit in 3.5" slot) will not work with Dell 3.5" drive sled as connector alignment is off. Assume you will need a 2.5" back plane when using these SSDs, we'll probably use the R610.

Note: I tested zfs, xfs and ext4 too, as well as two SSDs in a software RAID0... but there is no room to post them here and for the most part a single ext3 SSD performed best. I'll do more tests, but it didn't seem to like software raid.


**FILE IO - RANDOM READ - 1 THREAD**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=1 --file-test-mode=rndrd run`

SSD EXT3     

    Operations performed:  161750 Read, 0 Write, 0 Other = 161750 Total
    Read 2.4681Gb  Written 0b  Total transferred 2.4681Gb  (42.122Mb/sec)
     2695.81 Requests/sec executed

    Test execution summary:
        total time:                          60.0006s
        total number of events:              161750
        total time taken by event execution: 59.1342
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0004s
             max:                            0.0046s
             approx.  95 percentile:         0.0004s

    Threads fairness:
        events (avg/stddev):           161750.0000/0.00
        execution time (avg/stddev):   59.1342/0.00

HDD EXT3

    Operations performed:  2874 Read, 0 Write, 0 Other = 2874 Total
    Read 44.906Mb  Written 0b  Total transferred 44.906Mb  (766.33Kb/sec)
       47.90 Requests/sec executed

    Test execution summary:
        total time:                          60.0055s
        total number of events:              2874
        total time taken by event execution: 59.9896
        per-request statistics:
             min:                            0.0029s
             avg:                            0.0209s
             max:                            0.1042s
             approx.  95 percentile:         0.0331s

    Threads fairness:
        events (avg/stddev):           2874.0000/0.00
        execution time (avg/stddev):   59.9896/0.00


----------

**FILE IO - RANDOM READ - 64 THREADS**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=64 --file-test-mode=rndrd run`

SSD EXT3    

    Operations performed:  158385 Read, 0 Write, 0 Other = 158385 Total
    Read 2.4168Gb  Written 0b  Total transferred 2.4168Gb  (41.228Mb/sec)
     2638.61 Requests/sec executed

    Test execution summary:
        total time:                          60.0260s
        total number of events:              158385
        total time taken by event execution: 3839.5569
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0242s
             max:                            6.4591s
             approx.  95 percentile:         0.0004s

    Threads fairness:
        events (avg/stddev):           2474.7656/592.31
        execution time (avg/stddev):   59.9931/0.01

HDD EXT3

    Operations performed:  2945 Read, 0 Write, 0 Other = 2945 Total
    Read 46.016Mb  Written 0b  Total transferred 46.016Mb  (768.25Kb/sec)
       48.02 Requests/sec executed

    Test execution summary:
        total time:                          61.3345s
        total number of events:              2945
        total time taken by event execution: 3885.4618
        per-request statistics:
             min:                            0.0040s
             avg:                            1.3193s
             max:                            9.9964s
             approx.  95 percentile:         6.6392s

    Threads fairness:
        events (avg/stddev):           46.0156/10.71
        execution time (avg/stddev):   60.7103/0.39

----------

**FILE IO - RANDOM WRITE - 1 THREAD**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=1 --file-test-mode=rndwr run`

SSD EXT3     

    Operations performed:  0 Read, 169804 Write, 0 Other = 169804 Total
    Read 0b  Written 2.591Gb  Total transferred 2.591Gb  (44.219Mb/sec)
     2830.04 Requests/sec executed

    Test execution summary:
        total time:                          60.0005s
        total number of events:              169804
        total time taken by event execution: 59.0867
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0003s
             max:                            0.0031s
             approx.  95 percentile:         0.0007s

    Threads fairness:
        events (avg/stddev):           169804.0000/0.00
        execution time (avg/stddev):   59.0867/0.00

HDD EXT3

    Operations performed:  0 Read, 3796 Write, 0 Other = 3796 Total
    Read 0b  Written 59.312Mb  Total transferred 59.312Mb  (1012.2Kb/sec)
       63.26 Requests/sec executed

    Test execution summary:
        total time:                          60.0017s
        total number of events:              3796
        total time taken by event execution: 59.9806
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0158s
             max:                            1.0514s
             approx.  95 percentile:         0.0455s

    Threads fairness:
        events (avg/stddev):           3796.0000/0.00
        execution time (avg/stddev):   59.9806/0.00

**FILE IO - RANDOM WRITE - 64 THREADS**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=64 --file-test-mode=rndwr run`

SSD EXT3

    Operations performed:  0 Read, 179247 Write, 0 Other = 179247 Total
    Read 0b  Written 2.7351Gb  Total transferred 2.7351Gb  (46.659Mb/sec)
     2986.14 Requests/sec executed

    Test execution summary:
        total time:                          60.0262s
        total number of events:              179247
        total time taken by event execution: 3839.6346
        per-request statistics:
             min:                            0.0005s
             avg:                            0.0214s
             max:                            0.1395s
             approx.  95 percentile:         0.0610s

    Threads fairness:
        events (avg/stddev):           2800.7344/44.56
        execution time (avg/stddev):   59.9943/0.01

HDD EXT3

    Operations performed:  0 Read, 4358 Write, 0 Other = 4358 Total
    Read 0b  Written 68.094Mb  Total transferred 68.094Mb  (1.1182Mb/sec)
       71.56 Requests/sec executed

    Test execution summary:
        total time:                          60.8978s
        total number of events:              4358
        total time taken by event execution: 3870.8012
        per-request statistics:
             min:                            0.0006s
             avg:                            0.8882s
             max:                            4.9283s
             approx.  95 percentile:         3.4779s

    Threads fairness:
        events (avg/stddev):           68.0938/9.09
        execution time (avg/stddev):   60.4813/0.26

----------

**FILE IO - COMBINE RANDOM READ/WRITE - 1 THREAD**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=1 --file-test-mode=rndrw run`

SSD EXT3

    Operations performed:  67246 Read, 44830 Write, 0 Other = 112076 Total
    Read 1.0261Gb  Written 700.47Mb  Total transferred 1.7101Gb  (29.186Mb/sec)
     1867.92 Requests/sec executed

    Test execution summary:
        total time:                          60.0004s
        total number of events:              112076
        total time taken by event execution: 59.3859
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0005s
             max:                            0.0411s
             approx.  95 percentile:         0.0013s

    Threads fairness:
        events (avg/stddev):           112076.0000/0.00
        execution time (avg/stddev):   59.3859/0.00

HDD EXT3

    Operations performed:  2195 Read, 1463 Write, 0 Other = 3658 Total
    Read 34.297Mb  Written 22.859Mb  Total transferred 57.156Mb  (975.12Kb/sec)
       60.94 Requests/sec executed

    Test execution summary:
        total time:                          60.0215s
        total number of events:              3658
        total time taken by event execution: 60.0010
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0164s
             max:                            0.3715s
             approx.  95 percentile:         0.0429s

    Threads fairness:
        events (avg/stddev):           3658.0000/0.00
        execution time (avg/stddev):   60.0010/0.00

----------

**FILE IO - COMBINE RANDOM READ/WRITE - 64 THREADS**

`sysbench --init-rng=on --test=fileio --max-time=60 --max-requests=1000000  --file-num=10 --file-extra-flags=direct --file-fsync-freq=0  --file-total-size=50G --num-threads=64 --file-test-mode=rndrw run`

RESULTS

SSD EXT3

    Operations performed:  44558 Read, 29710 Write, 0 Other = 74268 Total
    Read 696.22Mb  Written 464.22Mb  Total transferred 1.1332Gb  (19.321Mb/sec)
     1236.52 Requests/sec executed

    Test execution summary:
        total time:                          60.0623s
        total number of events:              74268
        total time taken by event execution: 3841.9213
        per-request statistics:
             min:                            0.0003s
             avg:                            0.0517s
             max:                            0.4341s
             approx.  95 percentile:         0.1348s

    Threads fairness:
        events (avg/stddev):           1160.4375/50.60
        execution time (avg/stddev):   60.0300/0.02

HDD EXT3

    Operations performed:  2632 Read, 1789 Write, 0 Other = 4421 Total
    Read 41.125Mb  Written 27.953Mb  Total transferred 69.078Mb  (1.1385Mb/sec)
       72.87 Requests/sec executed

    Test execution summary:
        total time:                          60.6723s
        total number of events:              4421
        total time taken by event execution: 3863.3418
        per-request statistics:
             min:                            0.0005s
             avg:                            0.8739s
             max:                            4.5743s
             approx.  95 percentile:         2.4240s

    Threads fairness:
        events (avg/stddev):           69.0781/6.34
        execution time (avg/stddev):   60.3647/0.20

----------

**MYSQL OLTP - READ ONLY - 1 THREAD**

`sysbench --test=oltp --oltp-table-size=1000000 --max-requests=100000 --db-driver=mysql --mysql-table-engine=innodb --db-ps-mode=disable --mysql-engine-trx=yes --mysql-socket=/tmp/mysql.sock --mysql-db=test --num-threads=1 --oltp-read-only run`

SSD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           0
            other:                           200000
            total:                           1600000
        transactions:                        100000 (492.93 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1400000 (6900.95 per sec.)
        other operations:                    200000 (985.85 per sec.)

    Test execution summary:
        total time:                          202.8706s
        total number of events:              100000
        total time taken by event execution: 201.7883
        per-request statistics:
             min:                            0.0018s
             avg:                            0.0020s
             max:                            0.0984s
             approx.  95 percentile:         0.0024s

    Threads fairness:
        events (avg/stddev):           100000.0000/0.00
        execution time (avg/stddev):   201.7883/0.00

HDD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           0
            other:                           200000
            total:                           1600000
        transactions:                        100000 (256.34 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1400000 (3588.74 per sec.)
        other operations:                    200000 (512.68 per sec.)

    Test execution summary:
        total time:                          390.1088s
        total number of events:              100000
        total time taken by event execution: 389.0534
        per-request statistics:
             min:                            0.0019s
             avg:                            0.0039s
             max:                            0.1454s
             approx.  95 percentile:         0.0047s

    Threads fairness:
        events (avg/stddev):           100000.0000/0.00
        execution time (avg/stddev):   389.0534/0.00

----------

**MYSQL OLTP - READ ONLY - 64 THREADS**

`sysbench --test=oltp --oltp-table-size=1000000 --max-requests=100000 --db-driver=mysql --mysql-table-engine=innodb --db-ps-mode=disable --mysql-engine-trx=yes --mysql-socket=/tmp/mysql.sock --mysql-db=test --num-threads=16 --oltp-read-only run`

SSD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           0
            other:                           200000
            total:                           1600000
        transactions:                        100000 (1055.34 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1400000 (14774.81 per sec.)
        other operations:                    200000 (2110.69 per sec.)

    Test execution summary:
        total time:                          94.7559s
        total number of events:              100000
        total time taken by event execution: 1512.7384
        per-request statistics:
             min:                            0.0018s
             avg:                            0.0151s
             max:                            2.1117s
             approx.  95 percentile:         0.0165s

    Threads fairness:
        events (avg/stddev):           6250.0000/590.00
        execution time (avg/stddev):   94.5461/0.06

HDD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           0
            other:                           200000
            total:                           1600000
        transactions:                        100000 (497.50 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1400000 (6964.94 per sec.)
        other operations:                    200000 (994.99 per sec.)

    Test execution summary:
        total time:                          201.0067s
        total number of events:              100000
        total time taken by event execution: 3183.9863
        per-request statistics:
             min:                            0.0020s
             avg:                            0.0318s
             max:                            27.8799s
             approx.  95 percentile:         0.0060s

    Threads fairness:
        events (avg/stddev):           6250.0000/1301.96
        execution time (avg/stddev):   198.9991/2.79

----------

**MYSQL OLTP - READ/WRITE - 1 THREAD**

`sysbench --test=oltp --oltp-table-size=1000000 --max-requests=100000 --db-driver=mysql --mysql-table-engine=innodb --db-ps-mode=disable --mysql-engine-trx=yes --mysql-socket=/tmp/mysql.sock --mysql-db=test --num-threads=1 run`

SSD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           500000
            other:                           200000
            total:                           2100000
        transactions:                        100000 (218.72 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1900000 (4155.60 per sec.)
        other operations:                    200000 (437.43 per sec.)

    Test execution summary:
        total time:                          457.2148s
        total number of events:              100000
        total time taken by event execution: 455.9071
        per-request statistics:
             min:                            0.0023s
             avg:                            0.0046s
             max:                            0.0779s
             approx.  95 percentile:         0.0059s

    Threads fairness:
        events (avg/stddev):           100000.0000/0.00
        execution time (avg/stddev):   455.9071/0.00

HDD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           500000
            other:                           200000
            total:                           2100000
        transactions:                        100000 (204.85 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1900000 (3892.23 per sec.)
        other operations:                    200000 (409.71 per sec.)

    Test execution summary:
        total time:                          488.1525s
        total number of events:              100000
        total time taken by event execution: 486.8584
        per-request statistics:
             min:                            0.0026s
             avg:                            0.0049s
             max:                            0.1927s
             approx.  95 percentile:         0.0060s

    Threads fairness:
        events (avg/stddev):           100000.0000/0.00
        execution time (avg/stddev):   486.8584/0.00

----------

**MYSQL OLTP - READ/WRITE - 64 THREADS**

`sysbench --test=oltp --oltp-table-size=1000000 --max-requests=100000 --db-driver=mysql --mysql-table-engine=innodb --db-ps-mode=disable --mysql-engine-trx=yes --mysql-socket=/tmp/mysql.sock --mysql-db=test --num-threads=64 run`

SSD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           500000
            other:                           200000
            total:                           2100000
        transactions:                        100000 (403.34 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1900000 (7663.38 per sec.)
        other operations:                    200000 (806.67 per sec.)

    Test execution summary:
        total time:                          247.9324s
        total number of events:              100000
        total time taken by event execution: 3964.1628
        per-request statistics:
             min:                            0.0027s
             avg:                            0.0396s
             max:                            0.7854s
             approx.  95 percentile:         0.1446s

    Threads fairness:
        events (avg/stddev):           6250.0000/147.62
        execution time (avg/stddev):   247.7602/0.05

HDD EXT3

    OLTP test statistics:
        queries performed:
            read:                            1400000
            write:                           500000
            other:                           200000
            total:                           2100000
        transactions:                        100000 (392.70 per sec.)
        deadlocks:                           0      (0.00 per sec.)
        read/write requests:                 1900000 (7461.35 per sec.)
        other operations:                    200000 (785.41 per sec.)

    Test execution summary:
        total time:                          254.6456s
        total number of events:              100000
        total time taken by event execution: 4069.8699
        per-request statistics:
             min:                            0.0027s
             avg:                            0.0407s
             max:                            0.6835s
             approx.  95 percentile:         0.1478s

    Threads fairness:
        events (avg/stddev):           6250.0000/139.23
        execution time (avg/stddev):   254.3669/0.17

Solution 2:

There are two different types of SSDs, SLC and MLC, single-level cell and multi-level cell, respectively. The SLC drives are more expensive, faster and reportedly more reliable. Samsung drives in the 25/50G sizes are only available as SLC (if my 20 seconds of google 'research' is correct.)

Whether or not your particular usage will require SLC drives is math to do on your side. :)