Best hard drive performance?

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
I'm building a system to run SQL Server 2005 on, and to develop & test software on. I need fast hard drive performance for building the databases, and running intensive queries. What's the best performance I can get for this, I'd say the max I'm willing to spend on the storage system is $800. Price/performance ratio is important, to maximize the budget.

Note: reliability isn't a concern, no critical data will be stored on this, so I don't see any reason not to go with RAID 0. The primary drive with OS will probably be a single Raptor. The system will be on a Q6600, 8GB DDR2, either Win 2003 64bit or Vista 64bit.

EDIT: I'm shooting for at least 500MB/s read speed. I guess you can achieve this w/ multi-channel scsi, but can you raid across two or more scsi channels? what about with sata II?

What would perform best:

  • 4x-6x SATA II 7200rpm / RAID 0

  • 2x 150GB Raptors / RAID 0

  • 2x 15krpm SCSI Ultra320 / RAID 0

  • 2x 15krpm SAS / RAID 0

  • Other options?


What drive would be preferable if I don't go with Raptors? What controller is recommended (PCI-X has highest bandwidth right?)?
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Would there be any issues with having a Raptor (SATA I) as my primary disk, and then having a RAID array of SATA II disks running of a PCI-X controller? I don't think so but just making sure.

 

Kakumba

Senior member
Mar 13, 2006
610
0
0
To answer in reverse order: No, that setup should be fine.

As for what to use: SAS is the way of the future, as opposed to SCSI.

For a database, you are often looking for low latency, which gives the 15K rpm disks a major advantage. The many disk SATA array would have higher read when reading a lot of data, but higher latency. Which leads me to recommend the 15K SAS disks. don't think that will give you 500MB/s, but its damn fast. I can appreciate that you don't want to spend too much, but if you work for a large enough company, a fast SAN should be on the cards... massive raid arrays.

As for what controller, I don't have enough experience to recommend a specific controller.

final point: being professionally paranoid, and having lost a disk on a production server last week, I would not recommend RAID 0, unless you have a very solid backup/ recovery process, and dont care about up to 24 hours worth of data (assuming overnight backups)

Hope that helps.
 

Tristor

Senior member
Jul 25, 2007
314
0
71
SAS is definitely the fastest of your options, but you will not be hitting 500MB/s using any setup you listed. For that sort of speed the only way you are possibly going to do it is using Fibre Channel. With SAS 15k rpm drives in a RAID array (more than 2 drives are probably necessary, and the controllers are expensive for good controllers, usually PCI-Express, so it's going to be more than $800) you should probably be able to peak near the limit of the bus ~295MB/s (bus limit is 300MB/s). Perhaps doing multichannel RAID across multiple controllers in a system that supports that you might be able to get a higher throughput speed, but I doubt you will hit 500MB/s.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Can you do multichannel RAID using SAS? And what would control RAID'ing the data across the disks with multichannels? Or are there special multichannel cards that use one controller?
 

Tristor

Senior member
Jul 25, 2007
314
0
71
Originally posted by: KingGheedora
Can you do multichannel RAID using SAS? And what would control RAID'ing the data across the disks with multichannels? Or are there special multichannel cards that use one controller?

Yes, technically all RAID with serial buses is "multichannel", since only one device may exist per channel with SAS or SATA. Of course, most controllers use a single connector for every 4 channels and some sort of fanout cable that takes advantage of multiplexing. Either that or they use multi-lane backplanes of some sort. Just pick a decent SAS RAID controller, some good 300GB 15k rpm drives, and set up an array and give it a shot
 

yuppiejr

Golden Member
Jul 31, 2002
1,317
0
0
The closest I could get within $100 of your budget would be:

1 x LSI LSI00110, 8 lane, 2.5 Gb/s PCI Express SATA/SAS 8 port RAID 0/1/1e/10e controller.

http://www.newegg.com/Product/...p?item=N82E16816118061

2 x Fujitsu MAX3073RC 74GB 15,000 RPM 16MB Cache Serial Attached SCSI (SAS) Hard Drive

http://www.newegg.com/Product/...p?item=N82E16822116016

The "MAX" series in SCSI/SAS flavors are an update of the super fast SCSI "MAU" model Fujitsu drives that reviewed well over at StorageReview.com. Running 2 of these in a RAID0/Stripe pair should get you the best I/O performance your budget will allow which is nowhere near your goal.

Just so your expectations are set appropriately, the fastest single hard disk available today, the Seagate Cheetah 15k.5 Ultra 320 SCSI drive at $1,100 each, has a maximum (outermost portion of the disk platters) read performance rate of 135 MB/s, min of 82.6. For comparison, your Raptor is in the neighborhood of 90 max/50 min but won't scale as well for random access read/writes that will be part of any appropriate database testing.

With a good multi-channel SAS RAID controller, mainboard, enclosure with split backplane (might as well just buy a server for this) and an array of 6 of those drives you're looking to spend at least $10,000-$12,000... So there is NO WAY you are going to meet your $800 budget for this project. The poster who suggested SAN was right on the money, your desired performance is simply beyond your budget at this time. Champagne tastes, beer bottle budget as they say...

I think with the setup I posted above you might get into the 180-200 MB/s range with superb IO performance in file server/database applications (multi user, many read/writes) if you stripe them and throw regular full/inc. database backups onto a 2-disk RAID1 array with cheap SATA disks to give you some sort of data security.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Thanks for the replies. It looks like I won't be able to get near as fast as I wanted. I also just found out the true size of the databases I'm testing... 150gb just for one, and the other is probably around 30gb at least. I'll need even more space on top of that when I do cubes and other analysis. So it looks like I have to throw top speed out anyways, even the two 15k rpm fujitsu's yuppie recommended won't do the trick, not enough space. Maybe three or four 150 gb raptors. For budget purposes, I might do four raptors in raid 0 (again, I don't care if i lose the data, it's being copied from somewhere else to begin with), software/onboard raid. How much cpu % of a single core will be taken up by RAID logic? Will speed suffer at all if I went software/onboard with 4x raptors, and then maybe later on if I need it I can get a real controller?

at the high end of the raptor transfer rate, i'd have 90MB/s x 4, which is higher than the 300MB/s limit of the sata II bus. Let alone the fact that raptors are sata I (max of 150MB/s). Is there anything I can do to get the full bandwidth of four raptors? I'm a little confused by Tristor's response. Tristor, the connector itself is limited to the top speed of the interface used (150MB/s for the SATA I of the Raptors). What I meant by multichannel is, is there a way to get around the speed limitation imposed by the connectors used, when the combined speed of the drives is higher than the top speed of the connector?

Thanks again for the responses, they were really helpful.
 

Kakumba

Senior member
Mar 13, 2006
610
0
0
ok, lets clear things up. the max SATA bandwidth is PER DRIVE. So, no drive on earth is maxing out that bandwidth. the bandwidth that matters is the maximum bandwidth available for your controller to talk to the rest of the system. http://www.acme.com/build_a_pc/bandwidth.html seems like a good list, but I cant vouch for accuracy.

I would still recommend you get a good controller, with an onboard processor, and a small amount of onboard RAM. you do have enough processing power to use software/ onboard, but performance will suffer.
 

Tristor

Senior member
Jul 25, 2007
314
0
71
Originally posted by: Kakumba
ok, lets clear things up. the max SATA bandwidth is PER DRIVE. So, no drive on earth is maxing out that bandwidth. the bandwidth that matters is the maximum bandwidth available for your controller to talk to the rest of the system. http://www.acme.com/build_a_pc/bandwidth.html seems like a good list, but I cant vouch for accuracy.

I would still recommend you get a good controller, with an onboard processor, and a small amount of onboard RAM. you do have enough processing power to use software/ onboard, but performance will suffer.

No, it's per /CHANNEL/. It's incidental that in a serial bus that happens be a 1 to 1 relationship with the number of drives, but busses are rated on bandwidth per channel. SAS is 300MB/s per channel, SATAII is 300MB/s per channel, Fibre Channel is 400MB/s per channel, SCSI U320 is 320MB/s per channel, so on and so forth. Nonetheless, because of how RAID scales with performance, it is very unlikely you will ever see higher performance out of an array than you could theoretically hit with a single channel. At the best, you usually see something just below the top of the channels ability across an array in throughput. RAID doesn't increase throughput that much though, the main performance increase (especially with RAID 0) is in the Sequential Transfer Rate, which is roughly the total STR of all drives in the array together. Beyond that, the peformance gains are minimal. If you are doing mostly random accesses, instead of sequential accesses, your speed gain is going to be even less.

EDIT: Oh, and incidentally, your list is wrong on a few points, and needs to be updated since it's mostly listing older stuff.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Tristor, do you mean my list? Which parts are wrong?

So are you saying, that if I had 6 raptors in RAID 0, which gives me theoretically 540MB/s max transfer rate (for the sake of argument assume it's achievable), even though the raptors' interface is 150MB/s per channel (1-1 with drives, so per drive), I would be able to use the full 540MB/s transfer rate?
 

Tristor

Senior member
Jul 25, 2007
314
0
71
Originally posted by: KingGheedora
Tristor, do you mean my list? Which parts are wrong?

So are you saying, that if I had 6 raptors in RAID 0, which gives me theoretically 540MB/s max transfer rate (for the sake of argument assume it's achievable), even though the raptors' interface is 150MB/s per channel (1-1 with drives, so per drive), I would be able to use the full 540MB/s transfer rate?

No, I was referring to his list of bus bandwidths.

And no, you won't get 540MB/s out of 6 raptors, even in the theoretical. But that's beside the point, because the ultimate answer is that no you will not get that speed out of them in any application. I suggest reading
http://faq.storagereview.com/t...age=SingleDriveVsRaid0
and http://storagereview.com/artic...406/20040625TCQ_1.html to get a better perspective on what speedups can be gained using RAID 0

Also, realize, for every drive in a RAID 0 array, you add one to the denominator for reliability. for a 2 drive array you will have half the reliability of a single drive, for a 6 drive array you will have 1/6th the reliability of a single drive. That's why RAID 0+1 (also known as RAID 10) is used so often. Essentially, what that does is make two RAID 0 arrays and then RAID 1 them together (striping + mirroring). Still though, in a large array, RAID 5 or RAID 6 offers the best reliability to performance ratio for most real-world applications.
 

yuppiejr

Golden Member
Jul 31, 2002
1,317
0
0
Hmm. What about doing a stripe set with 2 of these:

http://www.newegg.com/Product/...x?Item=N82E16822148045

(2 x 147 gig 10k RPM Seagate Cheetah SCSI 320 drives)

plus one of these:

http://www.newegg.com/Product/...p?item=N82E16816117083

(1 x Intel SRCU41L PCI-Express SCSI U320 RAID controller)

Assuming you've got a board that can run that controller card I think that's going to get you the right blend of capacity (280 or so gigs in a RAID0 array), random access read/write performance, multi-user I/O speed at high queue depths and fast sequential transfers - for the money you've got to spend. Again, your budget is the limiting factor here - put the 500 MB/s out of your head, it's simply impossible to achieve within your budget.

Out of curiosity, why do you require 500 MB/s transfer rates on-to or off of your array? Wouldn't it be more useful to test a database on a server similar to the one on which it will run in production versus a juiced up workstation? There are some significant differences in the way 'desktop/workstation' hard drives and controllers are going to perform certain tasks versus server hardware designed for multi-user disk performance. Raw transfer rates are only useful in copying or reading large amounts of sequential data, they will have little impact on random-access sensitive multi-user database applications.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Originally posted by: yuppiejr
Hmm. What about doing a stripe set with 2 of these:

http://www.newegg.com/Product/...x?Item=N82E16822148045

(2 x 147 gig 10k RPM Seagate Cheetah SCSI 320 drives)

plus one of these:

http://www.newegg.com/Product/...p?item=N82E16816117083

(1 x Intel SRCU41L PCI-Express SCSI U320 RAID controller)

Assuming you've got a board that can run that controller card I think that's going to get you the right blend of capacity (280 or so gigs in a RAID0 array), random access read/write performance, multi-user I/O speed at high queue depths and fast sequential transfers - for the money you've got to spend. Again, your budget is the limiting factor here - put the 500 MB/s out of your head, it's simply impossible to achieve within your budget.

Out of curiosity, why do you require 500 MB/s transfer rates on-to or off of your array? Wouldn't it be more useful to test a database on a server similar to the one on which it will run in production versus a juiced up workstation? There are some significant differences in the way 'desktop/workstation' hard drives and controllers are going to perform certain tasks versus server hardware designed for multi-user disk performance. Raw transfer rates are only useful in copying or reading large amounts of sequential data, they will have little impact on random-access sensitive multi-user database applications.

I don't require 500MB/s, just was hoping for that number. I'm not doing performance tests, but I am doing analysis and developing and testing fairly large relational and OLAP databases. The way that goes is I write a query, run it, see the results, and tweak it run it again, etc, until I get it right, and then go on to the next query/report I need to write. I need high performance because I can't sit around waiting for queries to run all the time. I won't have multiple users using this db. I will also be doing automated builds including compilation of .NET apps, and building associated databases from scratch.

So again, this won't be a multi-user application, this is a development and testing environment.

 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Originally posted by: Tristor
Originally posted by: KingGheedora
Tristor, do you mean my list? Which parts are wrong?

So are you saying, that if I had 6 raptors in RAID 0, which gives me theoretically 540MB/s max transfer rate (for the sake of argument assume it's achievable), even though the raptors' interface is 150MB/s per channel (1-1 with drives, so per drive), I would be able to use the full 540MB/s transfer rate?

No, I was referring to his list of bus bandwidths.

And no, you won't get 540MB/s out of 6 raptors, even in the theoretical. But that's beside the point, because the ultimate answer is that no you will not get that speed out of them in any application. I suggest reading
http://faq.storagereview.com/t...age=SingleDriveVsRaid0
and http://storagereview.com/artic...406/20040625TCQ_1.html to get a better perspective on what speedups can be gained using RAID 0

Also, realize, for every drive in a RAID 0 array, you add one to the denominator for reliability. for a 2 drive array you will have half the reliability of a single drive, for a 6 drive array you will have 1/6th the reliability of a single drive. That's why RAID 0+1 (also known as RAID 10) is used so often. Essentially, what that does is make two RAID 0 arrays and then RAID 1 them together (striping + mirroring). Still though, in a large array, RAID 5 or RAID 6 offers the best reliability to performance ratio for most real-world applications.

Hi, I don't think you answered my question at all. I understand what you're saying about the types of applications that will benefit from RAID. I'm not asking if the raptors will see 540MB/s (notice I said "for the sake of argument").

Someone said that the max transfer rate of the raptor is 90MB/s. If I have a 6-drive Raptor RAID 0 array, that's a max of 540MB/s. Just assume that I'm transferring large files, and please answer my question about the interface limitation. If the six combined Raptors or whatever imaginary drive could read data at 540MB/s, will that bandwidth be limited by anything on the controller (e.g. the controller itself, the connector, the channel, the sata I interface)? I know that the PCI-X (4x) interface will allow 1GB/s The interface used by the Raptors is 150MB/s per channel.
 

Tristor

Senior member
Jul 25, 2007
314
0
71
Yes, it will be limited by other things in the system. If you are using a PCI-E 4x or PCI-X 133MHz bus for the controller card, you are going to be limited by it's bandwidth, assuming the operations require processing as opposed to disk to disk copying (which would only pass across the controller), the controller of course has a bandwidth limit as well, which in a good controller should be the maximum possible throughput of all channels on the controller together (so a good 8 channel SAS controller should support 2.4GB/s throughput across the controller, as long as it stays on the controller). There are a number of other limiting factors as well, and even with knowing all of them you can't possibly calculate anything related to real throughput seen without actually benchmarking it, because most of the specifications don't show a realistic measure of real-world performance.

More appropriately, in the example you give, you say you are transferring large files. If the transfer occurs between two drives or arrays on the same controller, you should see the peak possible throughput you can attain, and when writing large chunks of sequential data that will depend on the STR, which will be close to ~500MB/s in that particular example. So, yes, if it was on the same controller, you quite possibly could see that sort of throughput, at least momentarily. That assumes a lot of things though.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Okay, I just wanted to know if the 150MB/s or 300MB/s speed limits of the SATA interfaces limit the total combined speed of the drives in any way.
 

yuppiejr

Golden Member
Jul 31, 2002
1,317
0
0
Originally posted by: KingGheedora
Originally posted by: yuppiejr
Hmm. What about doing a stripe set with 2 of these:

http://www.newegg.com/Product/...x?Item=N82E16822148045

(2 x 147 gig 10k RPM Seagate Cheetah SCSI 320 drives)

plus one of these:

http://www.newegg.com/Product/...p?item=N82E16816117083

(1 x Intel SRCU41L PCI-Express SCSI U320 RAID controller)

Assuming you've got a board that can run that controller card I think that's going to get you the right blend of capacity (280 or so gigs in a RAID0 array), random access read/write performance, multi-user I/O speed at high queue depths and fast sequential transfers - for the money you've got to spend. Again, your budget is the limiting factor here - put the 500 MB/s out of your head, it's simply impossible to achieve within your budget.

Out of curiosity, why do you require 500 MB/s transfer rates on-to or off of your array? Wouldn't it be more useful to test a database on a server similar to the one on which it will run in production versus a juiced up workstation? There are some significant differences in the way 'desktop/workstation' hard drives and controllers are going to perform certain tasks versus server hardware designed for multi-user disk performance. Raw transfer rates are only useful in copying or reading large amounts of sequential data, they will have little impact on random-access sensitive multi-user database applications.

I don't require 500MB/s, just was hoping for that number. I'm not doing performance tests, but I am doing analysis and developing and testing fairly large relational and OLAP databases. The way that goes is I write a query, run it, see the results, and tweak it run it again, etc, until I get it right, and then go on to the next query/report I need to write. I need high performance because I can't sit around waiting for queries to run all the time. I won't have multiple users using this db. I will also be doing automated builds including compilation of .NET apps, and building associated databases from scratch.

So again, this won't be a multi-user application, this is a development and testing environment.

Hi again,

Actually for DB query operations you are going to be pushing I'd say you should be focused on the highest possible random access read performance rather than raw transfer speed.

If you look at the www.storagereview.com leaderboards you'll see that the best performers in this area are all 15k U320 SCSI or SAS drives (Seagate Savvio and Cheetah 15k, Maxtor Atlas 15k, Fujitsu MAU/MAX).

I'd go with the PCI-Express LSI LSI00112 SATA/SAS raid controller (3Gb/s) here

and

a pair of Fujitsu MAX 15k RPM SAS drives here to run in a RAID0/Stripe set.

You'd save a bunch of cash going with 10k drives, however you're also going from a 5.5 ms random access time to 8 ms which is going to be significant when running large queries. We're also talking $1200 vs $800 or so... depends on how hard your budget figure is.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
My HDD budget was $800 including any controller. Your suggestion makes a lot of sense but out of my price range at this time. Realizing that for the storage space i need (at least 600GB), I can't afford anything 10K rpm (unless 4 Raptors 150GB's, but that wouldn't leave me with any extra space, and I'd have no controller), I had to go with bang for buck so I got 4x Seagate 7200.10 320GB's for $60 each. Haven't decided on a controller yet, or whether or not I will use on-board RAID, but I might upgrade a few months from now to something with higher rpm.

 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
Thanks for the suggestions, yuppiejr. I'm gonna read up on those.

Actually, just looked through them. The Intel is a scsi controller, so that one's out. The LSI doesn't support raid 5, only supports up to 4 drives via 1 sata connector, while the Promise Controller has 8 sata connectors, and supports raid 5/6. RAID 5 might be useful in the future, as well as support for 8 drives.

Still gonna check out more controller cards. More suggestions?