performance increase: 2 intel x-25m 80gb ssds!

ar09

Gawd
Joined
Feb 23, 2009
Messages
584
what is the performance increase in speed having 2 ssds working in a raid 0?
 
~twice the sustained I/O
same random I/O
but: loss of trim commands with current firmware. IMO not playing to ssd's strengths at all.
 
Not the same random I/O; striping also improves IOps performance, when properly setup.
In theory the increase can be 100% just like STR, but in reality the difference is closer to 30%. Still that's a nice bonus and by far more important than STR rates.
 
Not the same random I/O; striping also improves IOps performance, when properly setup.
In theory the increase can be 100% just like STR, but in reality the difference is closer to 30%. Still that's a nice bonus and by far more important than STR rates.

importance of STR rates depends on what you need the drives for- large file backups and such will obviously favor mechanical drives. Interesting that you say the real difference is 30% for raid0 ssd.. everything I've seen so far has said ssd STR scales well.

Also, curious- what setup improves random IO perf?
 
When using RAID0, the:

sequential performance should double
random IOps performance should increase by a modest ~30%, when testing with multi-queue benchmarks.

If you don't get double sequential performance, the RAID setup zucks anyway. STR is easy! But the real importance is IOps of course, and getting that to perform is much harder. To get higher random IOps score out of RAID, you need:
  • Aligned RAID with the filesystem (no Windows XP)
  • high enough stripesize (at least 128KiB; preferably higher)
  • no interface bottlenecks (no PCI)
  • sane RAID engine
  • Multi-queue I/O (some benchmarks unsuitable; IOmeter/Rankdisk is useful here)

The issue is, that a misalignment issue or too low stripesize, would cause one I/O request sent by the Operating System to be handled by multiple disks in a RAID. While ideally, you want each I/O request to be handled by ONE drive only; so the other drives can be working on another I/O request in the meantime. That means parallel I/O and that's what striping RAID is all about.

Unfortunately, Windows tries very hard to waste this performance potential. Especially in the past 99.9% of all RAID0s were improperly setup, meaning you do get higher sequential performance, but no IOps bonus and the latency of read ops increases with the number of disks.

Some people have been 'taught' to make sure all disks are involved in one I/O operation. For example with 4 disks they use 32KiB stripesize; so one 128KiB requests involves all disks in the operation. This 'method' completely destroys any IOps benefit you might have got, gives you poor read latencies that increase with each disk (due to rotational latency) and doesn't add any sequential performance beyond what a proper RAID0 can do.

By the way: a properly setup RAID would show low scores in simple benchmarks like HDTune; so even if a Windows user did everything right; he might still be trying different setups because he doesn't understand how to interpret the RAID benchmarks; especially HDTune since it uses a queue depth of 1 - meaning its unsuitable for proper RAIDs.

Some RAID engines also use optimizations that cripple IOps performance, such as reading the whole stripe block even if only 4KiB was requested. So there are many ways to screw your RAID performance and only few ways to do it right and know about it. ;-)
 
^ Ah, I thought you said that STR would increase by 30%, hence my confusion 8(

Lacking sleep :eek:
 
Yeah i kind of wrote a misleading sentence i guess. ;)

Still, the fact that RAID0 also improves random IOps performance is not all that well known, and on Windows it didn't in most cases, as explained above. Right now, with Windows Vista/7 you should be able to make a nice RAID0 out of SSDs; and with 4 SSDs get the double amount of IOps that you would get for a single disk. That would be realistic i think.

The only downside to this is; it only works with multiple queue; some applications which use blocking I/O like when booting or starting an app, won't benefit much at all from the parallel I/O; because with only one I/O to process at a time only one drive in the RAID is working at a time; while you want them to work in parallel - for that you need multiple requests thus a queue depth higher than 1.
 
~twice the sustained I/O
same random I/O
but: loss of trim commands with current firmware. IMO not playing to ssd's strengths at all.

QFT

Your random read/writes would be the same as the single drive for sizes of the stripe size and down.
 
@C-rizzle: only with a queue depth of 1, and even then the performance is slightly higher. Once you start testing multiple queue depth, the random IOps of striping RAID *DOES* increase. If you say that's not true, i'll prove it to you.
 
Back
Top