What is fastest hard disk/raid order for programmer?

Posted on 2010-08-23
Last Modified: 2013-11-14
I got Widows 7 Professional 64-bit installed on raid 0 (2*velociRaptor (10k/rpm)). I also got one velociRaptor for pagefile and temp files. I am a programmer and my programming tools is installed on raid disk. My programs is also compiled to raid disk.

Now I am gonna buy two fast SSD drives and make second raid 0 with them. Can anyone tell me what is fastest solution for these two raids and one temp disk. My main target is to get programs compile time low as possible. All my programs use mysql or mssql with PHP when starting, so is it better install those sql-servers (databases) to another disk than compiled files are?

I think the best solution is keep the windows in old raid (slower) and left faster raid for programming tools and compiled programs. I believe that compilers usually dont use pagefile or temp directories when compile programs, but I dont know that for sure (I mostly programming with Flash Builder 4 (Flex)).

I'm gladly hear any experiences and suggestions of this matter.

Question by:Mircci
LVL 12

Expert Comment

by:Craig Bowman
ID: 33503333
IMO - RAID 0 on two mechanical drives will not even come close to a good SSD RAID
LVL 14

Expert Comment

ID: 33503356
The newest Intel RAID controllers are actually the fastest, on the i7 boards that is.

A single SSD is faster then 2 10k RAID 0 drives, but really more info on your overall system might be more relevant than just RAID performance, how bad are your compile times?

Expert Comment

ID: 33503453
Mircci, first of all, make sure you have a backup-system you can rely on :-) raid0 is not fail safe...
Try to make the first slice with a maximum capacity of 60-80 Gb, stripe: 64k. The remaining part will be the other partition.
The smaller you create it, the faster will be. Remember that the first partition would be faster because it uses the inner part of the disk (closer to the center)...
If you are going to use Raid1 (Mirroring), remember that it will be fast when reading, but not when writing, so it can be the "right place" for placing your code.
Hope this helps
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

LVL 70

Expert Comment

ID: 33503772
"... Remember that the first partition would be faster because it uses the inner part of the disk (closer to the center)... "    ==>   WRONG.      It's true that the first partition on the disk is the fastest ... but the reason is it's on the OUTER part of the disk (furthest from the center).     All modern disks use zoned sectoring, which means there are more sectors/cylinder on the outermost cylinders.     Since the disk rotates at a fixed speed, the data transfers from the outermost cylinders are much faster.

Note that most RAID controllers will NOT implement TRIM for your SSDs.    If you buy a high-end SSD (or pair of them) I'd use them individually rather than in a RAID array to ensure that Windows 7 is using the TRIM feature to maintain their performance.     I think you'll find the performance is excellent without the need for a RAID array.    I'd buy either one of the Sandforce-based OCZ Vertex 2's or an Intel SSD -- I'd put both the page file and your programming tools on the SSDs, and be sure you've configured your compiler to use an SSD for all its temporary files.
LVL 47

Expert Comment

ID: 33503941
RAID0 is just plain wrong for for you.
  * Higher probability of catastrophic data loss
  * NTFS is going to be reading/writing 4KB at a time anyway due to the requirements of setting up the boot device.  RAID0 is appropriate for throughput-oriented I/O (specifically sequential reads/writes).   RAID0 will make the system actually run slower in normal day to day operations (editing, compiling).  If you were running the database exclusively on a 2nd partition with 64KB block size and differently configured NTFS, then it would be different.  The big thing is if you want better performance for what you are generally going to be doing then RAID1 is better than RAID0.

  * However, a SSD is going to provide both higher performance then RAID0 or RAID1 ... and arguably better reliability then RAID1, and much better reliability than RAID0.
Choose your SSD carefully. there are inherent incompatibilities with many models & motherboard combinations.  Also SSDs are not created equal.  Specs matter.  MTBF, write cycles, TRIM, SLC vs MLC, IOPs, density.  There are SSDs out there under $500 which will give you up to 50,000 RANDOM 4KB I/Os per second.   You'll be lucky to get 1/100th of that on a pair of SATA disks.

LVL 11

Accepted Solution

ocanada_techguy earned 500 total points
ID: 33508906
Right, one of the important things about having SQL databases on RAID is to try to match-up the block size on the raid disk with the block size of the SQL database.  So, the blocking for MSSQL, vs Sybase vs Oracle vs MySQL etc to get maximum performance there is going to vary according to tuning it to match the database engine.  Meanwhile everything else should likely be on different partitions tuned for their purpose.
"All your programs use mysql or PHP when starting" k, that's when you launch the program and want to trace or debug line by line or what have you, so that's not your main speed concern, although clearly you'd like the program to load up and get to your set breakpoint sooner, faster is better, and then you make it wait while you debug.   It's not like you're talking about checking your code into and out of some code database that's sql backended though.
Compilers can use lots of RAM and lots of virtual memory, depending on the size of your programs you're building.  Some people turn virtual memory management off so it's all ram, with the idea the programmer's box far exceeds the ram of the end-users who will be running the programs.

CAREFUL though, there's one slippery slope aspect you may be forgetting.  Often programmers love to have the fastest most souped-up machines, and then they create bloatware, and wonder why everybody hates their work, well because it crawls exceedingly slow on the typical hardware of the intended users.  SO the users go elsewhere.  In our shop, programmers' test-bed machines mimic the specs of typical users so they are encouraged to program for performance.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now