[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


What is fastest hard disk/raid order for programmer?

Posted on 2010-08-23
Medium Priority
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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

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 2000 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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article shows how to use a free utility called 'Parkdale' to easily test the performance and benchmark any Hard Drive(s) installed in your computer. We also look at RAM Disks and their speed comparisons.
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
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…
Simple Linear Regression

656 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