2

Would it help to speed up a developer workstation to put in a second drive and set up a windows software RAID-1 or RAID-0 (i.e. disk mirroring / striping)? In theory the system could distribute it's reads over both drives, giving almost twice the performance in the best case. But how much does it help in practice? Any numbers?

I am especially interested in your experience with startup times of application servers and if there is a significant speedup of software builds, and on performance when the build / server is running in background.

CLARIFICATION: I am not talking about production servers - I'm just wondering whether this would be a cheap way to speed up the compile-deploy-test cycle when developing an application. Data safety is not important in this context - that's what backups are for.

9 Answers 9

5

RAID-0 is not mirroring - it's striping.

RAID-1 is mirroring.

RAID-0 is the fastest in all respects, but at the huge cost of Zero redundancy - so if you don't care about the data, and really care about performance, and think that the disk is your bottleneck (not unlikely), then you can use it.

If you care about both, you can move into the more expensive territory of RAID-10, or RAID-50.

Raid-10 is a RAID-1 of 2 RAID-0s, and RAID-50 is the RAID-5 of three or more RAID-0s.

Similarly, if your hardware supports it, you can do RAID-60 (RAID-6 over RAID-0s). RAID-6 gives you the ability to have more than 1 disk fail per raid, but you'll need more disks obviously, for example in RAID-5, the minimum number of disks is 3, and 1 of the 3 can fail, but if two fail, you've lost your data. RAID-6 will allow you to assign more than one disk for the purpose of redundancy at the cost of less-space, for example you can have a RAID-6 with 8 disks, and have 2 drives (or more) able to fail before you're in trouble.

Bottom line is, never use RAID-0 alone, unless you are certain that you don't care about losing data, and the time that it will take you to setup everything all over again.

3
  • Also, you cannot boot from a software raid unless it's raid-1 (mirror). Jun 3, 2009 at 9:33
  • Thanks, this answer gives nice general information about RAID. But it does not actually answer the question. 8-) Apr 8, 2010 at 16:13
  • How is Raid 0 dangerous in comparison to a single disk? I don't think Raid 0 is reducing redundancy, it's just not improving it? FWIW he said it's a developer machine, not a server. Raid 1 sounds dumb in that use case. Nov 24, 2021 at 3:26
3

In my opinion using software RAID is a solution you should avoid if at all possible. Sure, it's built-in to the OS so the price is right, but software mirrors (RAID1) and stripes (RAID0) are fragile and low-performing at best.

  • They tend to break more easily
  • They require significant CPU overhead, so the performance you could gain is spent elsewhere
  • They typically don't support the features that give your the biggest benefits, such as hot-swapping (exchanging a disk without downing the server first) and hot-spare disks. (=extra disk that takes over if a disk in the RAID set (!=RAID0) dies).

In all production machines I would either get a hardware RAID-controller, or just drop the RAID altogether. The hardware RAID controller (such as HP's SMART controllers) are expensive, but for the performance and safety they provide it's by far worth it. The hardware RAID controller will offload your main CPU, so performance is excellent. They support hot-swapping disks, hot-spare disks and RAID-migration, should you decide that your initial RAID level wasn't right for you. They can also support battery-backed write-caching, so that if your computer loses power, writes on their way TO the diskset will be maintained and written once power is restored, to avoid dataloss. All these benefits will definitely help you out.

To answer your inital question: (IMHO)

  • ALWAYS USE RAID1 (mirror) for your OS disks, as you need the redundancy. They also do distributed reads from both disks. Writes are slower, but cachin on your hardware RAID controller eliminates this as a performance bottleneck.
  • ONLY use RAID0 if you don't care about the data on the drive, ie caching, backup-staging etc.
  • Use RAID5 for the best space/speed/redundancy/cost compromise, use RAID6 for VERY large volumes and extra redundancy and
  • DO invest in a hardware RAID controller.

Going the non-RAID route:

If you need raw speed on your workstation, get Solid-State drives for the OS. Get a second 10k rpm drive for data. Do backups ALL the time, to your second drive or to external storage. At home I've dropped all RAID-configs and bought a Windows Home Server for data and backups. Works like a charm and is by far the cheapest solution I can think of. Plus it has many other benefits, so it would just as easily serve a small business! (<10 clients)

2

Not really, the increase in read performance for any cheap RAID-1 (mirror) is likely negliable.

But as a developer or systems administrator, I prefer having a RAID-0 array of atleast two high-speed drives like Velociraptors (helped by a cheap RAID controller like a built-in Intel ICH10 as you can't boot from software RAID-0) for booting Windows and running applications.

This greatly increases Windows response during multi-tasking and other heavy I/O-loads like linking, installing patches and generally using the machine like a "power user".

It is also comparable to the increased response of substituting it for say an Intel X25M SSD - but at more than twice the price for about the same productivity increase, it doesn't feel like a good deal just yet unless it's a laptop that can't accept two+ 10krpm+ drives ^^

A third separate data disk is used for my working copy / source code and I always commit changes at least each day to the central repository - often many times (after each individual fix or feature). For the purists making it a mirror won't hurt. Also make sure you can quickly restore the operating system and applications in some way - like a good deployment solution in place or a working image of it stored somewhere.

So, RAID-0 helps a lot (imho) and is a cost-effective way of boosting your computer's performance. But you should also first make sure you're using the fastest cpu you can have and the latest motherboard platform (chipset) with a decent amount of matching memory - because a faster cpu will always help, no matter what people say.

1

In short, yes, using the build in software RAID 0 of Windows (striping dynamic disks) will speed up your disk IO. By how much will depend on your exact hardware and applications. Here is an easy to read article where you can see a 63% performance increase on a synthetic benchmark.

As others have said by adding a second disk you increase your chances of a disk dying on you, but you should have backups to cover for that, irrespective of weather you have one disk or two.

1

I think the improvements are often negligible, and the question you ought to be asking is whether or not any speed increase is likely to be worth the risk; by striping you're saying that if either of those hard disks fails then your computer will no longer work until it is rebuilt.

How much of a problem would that be for you and is that worth the (likely small) increase in speed you'll see overall?

1

You should consider SSD (Solid State Disk) as an alternative. With random read/writes, SSD can be 50x-100x faster than a magnetic drive. Good SSD drives start around $100. Also, it is possible to RAID-0 two SSDs to increase performance.

http://www.anandtech.com/show/3756/2010-value-ssd-100-roundup-kingston-and-ocz-take-on-intel

0

Raid 0 is not mirroring - it is striping. There is no redundancy, if one disk fails you lose everything. Raid 1 is mirroring. You don't get anywhere near twice the speed in practice.

0

Bear in mind that being able to read from two disks will only give you a performance boost if your controller isn't the bottleneck, and if you've got reasonably fast drives, with an on-board controller, you'll probably get little or no gain.

0

RAID 1 should improve your read perfomance, as it should read from both drives at once.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .