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. :)