Slashdot Mirror


Hardware RAID 5 Performance Configurations?

gandy909 asks: "I am facing the need to replace a major server in the next few months due to both EOL status and disk I/O bottleneck issues with the array containing the data. The server is configured with a 2 channel array controller. It is a RAID 5 array and has 4 drives, 2 per channel (2 data, 1 parity, and 1 hot spare). Obvious performance benefits in replacing the server are quadrupling CPU speed and doubling the memory. Other side benefits I will gain with the new drives, that I think should help my performance, are moving from u160 to u320, and going from 7200 RPM to either 10k or 15k RPM." How would you configure a larger array to best increase its performance? "Having googled around, the consensus is that increasing the number of drives is the preferred way to attack the I/O bottleneck. What I don't find much help on is determining the configuration of the larger array. Assuming I am going to be using a 12 drive array I have come up with the following possible configurations:

1 2 channel controller, 6 drives per channel
1 4 channel controller, 3 drives per channel
2 2 channel controllers, 3 drives per channel
3 2 channel controllers, 2 drives per channel

Would any one of those configurations provide better performance than the others, or would they all even out considering other factors?"

62 comments

  1. Um? by Anonymous Coward · · Score: 0

    You lost me at "I am. . ."

  2. Get away from RAID 5 by Fished · · Score: 4, Insightful
    Not enough information - is this data warehousing? Transaction processing? Mostly reads, or a lot of writes as well?

    But generally, I don't recommend RAID 5 for performance critical situations. It's great for data warehouse, but if you lose one drive their goes your performance. Also, realize that, often, the place where you can really boost performance is in the database, not the hardware. How's your query optimization? Do you have appropriate indexes? Is the code accessing the database efficient?

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
    1. Re:Get away from RAID 5 by gandy909 · · Score: 1

      See my comment with more information for more info, but basically, it's a legacy app, and I'm stuck with the backend just the way it is, so my only real recourse is hardware improvements.

      --

      (Stolen sig) Remember: it's a "Microsoft virus", not an "email virus", a "Microsoft worm", not a "computer worm
    2. Re:Get away from RAID 5 by austad · · Score: 1

      Ditch the RAID 5 man. Previous poster mentioned a performance loss if you lose one drive, however, RAID 5 writes suck no matter if you have all your drives or not.

      Do a 0+1 configuration. You get the performance benefits of a stripe, and the redundancy of a mirror. 0+1 is the only way to go if you have enough drives. If you have Veritas volume manager, you can also do a Striped Pro set. It's similar to 0+1, except it will dynamically move data around in case of a failure and keep redundant data on free drive space in case you lose more than one drive. Supposedly it's better than 0+1, unfortunately, I did not benchmark it. I can say the performance was at least similar. Note that with Veritas, you are doing software RAID. Some people don't like this, but I haven't had any issues with it.

      See if LVM has anything interesting. Just because it's in software doesn't mean it's going to hurt your performance. In fact, I'd say that depending on the RAID controller you're using, software RAID is probably more resilient in case of a failure of drives or the card itself. Some cards only store the RAID information internally, instead of tagging the drives with the data. So if you lose the card, your RAID set is hosed.

      --
      Need Free Juniper/NetScreen Support? JuniperForum
    3. Re:Get away from RAID 5 by chinakow · · Score: 2, Informative

      Are you kidding? Have you ever used a Hardware array controller? do you even know the difference between a 0+1 and a RAID 5?

      First of all any controller made in the last decade has a fast enough proccessor on it that it is going to be faster than software RAID, second, a 0+1 is WAY slower than a RAID 5. For example lets say I got 4 disks if I setup a 0+1 that would be 2 mirror sets and the data is even split across the 2 arrays so I ask for a file and I have just 2 drive seeking the info, and retreiving that info, with a 4 disk RAID 5 I have at least 3 head seeking and I have just increased the data rate coming of of the drives by 50% just because I have one more drive fetching the info.

      hardware RAID in a RAID 5 is only slower than a RAID 0 and they are both Lightning fast compared to mirrors and 0+1 sets , I do not know where you get the impression that tying up 4 drives and making them act like 2 drives is faster than using 4 drives as if they where 3 but I would actually be interested to see hard facts as all I am providing is logic and observed performance. but from the work I have done RAID 5 is the way to go and if you have good backups and can handle downtime RAID 0 is even better.

    4. Re:Get away from RAID 5 by Anonymous Coward · · Score: 0

      their goes your performance

      "there".

    5. Re:Get away from RAID 5 by Fweeky · · Score: 1

      Why would you use RAID 01 over RAID 10?

      (Answer appears to be that your controller sucks).

    6. Re:Get away from RAID 5 by Fweeky · · Score: 2, Informative

      Here's some logic: RAID-5 needs to write across all disks to update parity on writes, which slows them no matter how much fancy hardware you've got to improve them. RAID-5 also needs to rebuild data from parity after a drive failure, meaning your high volume server is going to crawl until you can replace and rebuild.

      RAID-10/01 gives you a mirrored stripe; mirrors improve read performance by letting you balance reads across drives either to increase STR or TPS, stripes improve read performance again and also give you a boost in writes.

      RAID-10/01 is generally faster (mainly on writes and rebuilds), and can sustain more drive failures than RAID-5 (which is more important to me than saving a few bucks on hardware given that these are typically on important high volume systems).

      And here's a nice big document from a fairly trustworthy source to back me up. Nice try though.

    7. Re:Get away from RAID 5 by Sxooter · · Score: 1

      Here's some logic: RAID-5 needs to write across all disks to update parity on writes, which slows them no matter how much fancy hardware you've got to improve them.

      This one statement shows that you do not know much about RAID 5.

      RAID 5 only requires that the parity stripe and the changed data stripe be updated. It's really quite simple, you read the old data and parity stripe, XOR the new data stripe with the old one, XOR that output to the parity stripe, and write out the new parity and data stripe.

      Furthermore, if you have a battery backed write cache on your RAID controller, the write happens immediately to the OS / application point of view, so unless you're streaming write after write faster than the write cache and parity generation and subsequent writes to drives can handle, it's just as fast as any other RAID array. With enough drives, it usually outruns RAID 1+0, since the higher number of drives means that it can handle even more parallel writes with less chance of two writes needing to hit the same drive. Hot spares (and RAID 5+0) handle your argument for running with more than one failed drive.

      While software RAID 5 is simply too slow to compete with software RAID 1+0, hardware RAID 5 with battery backed cache is every bit a competitor for hardware or software RAID 1+0.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
    8. Re:Get away from RAID 5 by Fweeky · · Score: 1

      Sure; I never claimed RAID-5 wasn't competitive, I was more bashing the guy who said RAID-10 was crap by comparison, when it plainly *isn't*.

      I withdraw my "no matter how much" remark. RAID-10 is still simpler to implement and an excellent performer, which given how crap most hardware controllers/drivers seem to be, can only be a good thing :/

    9. Re:Get away from RAID 5 by drsmithy · · Score: 1
      First of all any controller made in the last decade has a fast enough proccessor on it that it is going to be faster than software RAID, [...]

      The performance hit with RAID5 doesn't come from the parity calculation, it comes from the additional I/O operations that RAID5 requires.

      For example lets say I got 4 disks if I setup a 0+1 that would be 2 mirror sets and the data is even split across the 2 arrays so I ask for a file and I have just 2 drive seeking the info, and retreiving that info, with a 4 disk RAID 5 I have at least 3 head seeking and I have just increased the data rate coming of of the drives by 50% just because I have one more drive fetching the info.

      Firstly, any RAID 0+1 (or 1+0, the preferred configuration) worth its salt will seek across all four drives.

      Secondly, the problem with RAID5 isn't reads (which are as fast as any other form of RAID), it's with writes, which are generally at *least* 30% slower than other typical RAID configs, even with good caching (at least for any non-trivial environment - if you're just one person accessing the server across a 100MB network, it doesn't matter _how_ you configure your system, the network will be the bottleneck).

      hardware RAID in a RAID 5 is only slower than a RAID 0 and they are both Lightning fast compared to mirrors and 0+1 sets , I do not know where you get the impression that tying up 4 drives and making them act like 2 drives is faster than using 4 drives as if they where 3 but I would actually be interested to see hard facts as all I am providing is logic and observed performance.

      If you have RAID5 performing faster than RAID 0+1 you've either got the world's fastest RAID5 implementation or the world's slowest RAID 0+1 implementation.

      RAID5 requires twice as much I/O for any write operation. The entire stripe must be read, the appropriate data modified, a new parity calculated and the entire stripe written. With RAID 0, 1, 0+1 and 10 the data can just be written straight out.

    10. Re:Get away from RAID 5 by Sxooter · · Score: 1

      FWI, RAID 1+0 and RAID 5 get a lot of testing on the postgresql-performance mailing list, and what we've found there is that with a high quality RAID controller with battery backed cache, the difference from one config to another is minimized until one or the other starts to saturate its SCSI busses. Since most database accesses are random, and therefore only use a small percentage of the maximum throughput available from an individual drive, it takes a lot of drives to saturate the SCSI busses, so for most users, with less than a few dozen hard drives, RAID 5 and RAID 1+0 are pretty much the same. But only when under a fast, battery backed caching RAID controller.

      With software RAID, the configuration VERY much matters, and RAID 1+0 is usually the clear winner.

      --

      --- It is not the things we do which we regret the most, but the things which we don't do.
  3. Well, knowing 0 about your business requirements. by dnight · · Score: 4, Informative

    I'd put 2GB fibre HBA's in the server(s) and attach an OpenSAN RAID box from Winchester Systems with dual-homed fibre to the array. That'll take care or your bottleneck and help your future scaling requirements.

  4. i am not an expert but... by blackcoot · · Score: 2, Informative

    ... the key to bottlenecks, as i've understood, are: 1) how many physical paths are there to disk, 2) how big are the buffers.

    #1 can be fixed by adding more controllers /and/ more disks, #2 can be fixed by buying the right controllers. not /too/ too useful, but a start.

    if you're /really/ concerned about performance (enough to spend cash on it), give someone like storagetek a call --- they've got this down to a fine art. quite probably waaay overkill for what you want to do, but it's a start.

  5. Depends on usage patterns by cookd · · Score: 5, Interesting

    First, 3 drives in RAID-5 is not very useful. You get a lot of the disadvantages with few of the benefits. Having more drives really helps throughput. So go for more smaller drives over fewer faster drives for RAID-5.

    Second, RAID-5 is great for read speeds, but less great for write speeds. A good caching controller will help hide this, but a small write operation requires a read from each disk in the set before the write can be completed (in order to recompute parity for the stripe). If this is mostly reading, or if most writes are large (not small and random), RAID-5 will work fine (data storage, data mining, etc). If writes are frequent (transactions), RAID-5 is painful. RAID-10 might be better.

    --
    Time flies like an arrow. Fruit flies like a banana.
    1. Re:Depends on usage patterns by cookd · · Score: 2

      So go for more smaller drives over fewer faster drives for RAID-5.

      I meant to say larger.

      --
      Time flies like an arrow. Fruit flies like a banana.
    2. Re:Depends on usage patterns by cookd · · Score: 4, Insightful

      And to answer the question you actually ASKED...

      Fast drives can sustain about 60 MB/s nowadays, so don't put more than (max channel rate)/(max drive rate) = (320)/(60) = around 5 drives on a single channel.

      As for multiple controllers, if they aren't present for redundancy purposes, you're probably just as well off using just one.

      But then again, I'm just a Slashdotter who hasn't kept up with the latest specs, so I'm pretty much just making stuff up. Free advice is worth every penny.

      --
      Time flies like an arrow. Fruit flies like a banana.
    3. Re:Depends on usage patterns by MarkRose · · Score: 2, Informative

      a small write operation requires a read from each disk in the set before the write can be completed (in order to recompute parity for the stripe)

      Not entirely. If your parity is a simple XOR of all the chunks, then you only need to read the chunk to be rewritten and the appropriate parity chunk. XOR the old chunk with the parity, XOR that with the new chunk and rewrite the parity chunk, and finally write the new chunk. However, this still necessitates a read from the drive where the write is to occur and a read of the appropriate chunk of parity information for every write. This means that only 2 of the n drives in an array are involved. This technique works best when your parity information is striped across all the drives (to avoid a bottleneck -- which is why RAID 5 is so popular), but there is still a penalty for dealing with parity.

      --
      Be relentless!
    4. Re:Depends on usage patterns by innosent · · Score: 3, Informative

      No, internal transfer rates are now up to around 109 MB/s for the top 15k RPM drives. You should be able to do better than 60MB/sec per drive, unless your reads are all over the place. (Lots of small reads instead of a few large, contiguous reads?) If you REALLY want speed, you can't beat RAID 10. For 12 drives, I would go with 2 U320 dual-channel controllers, having 3 drives on each channel (4 would probably be better, but that's 16 drives). Probably would be best to mirror across channels on the same card, and stripe those 6 (or 8) mirrored pairs across the two cards. You could hit a theoretical write speed of 640MB/sec pretty easily with 16 drives, probably only around 550-600 with 12, with read speeds of 1280MB/sec for 16 drives, and just over a GB/sec with 12. If a GB/sec isn't fast enough, it's probably time to write new software.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
    5. Re:Depends on usage patterns by edesio · · Score: 1

      IIRC during write you have to read from just two disks: the one where the data goes and the one with parity. Using the difference from the old data and the new data you can recalculate parity without reading the other disks. So for each write on RAID you need two disks read and two disks write.

  6. Why not forego raid5? by millisa · · Score: 2, Interesting

    If this is an EOL system and its using U160 drives . .chance are those drives are 36 gig or less . .I'd even bet they might be 18's . . . But lets say they are 36's . . four of them in a raid 5 is giving you ~120GB? Why not just get a pair of 147GB drives and run in a raid1? I mean, like others have said, without knowing what you are doing with it, it is hard to say where you are going to get the most benefit, but a lot of times, Raid5 is chosen just due to the increase in space you can get. . . There are more complex options out there that can get you better performance than raid5 (ie, raid 1+0 raid 5+0 and similar) if your controller and wallet support it . . .

    1. Re:Why not forego raid5? by afidel · · Score: 1

      Why not just get a pair of 147GB drives and run in a raid1?

      Because in anything where you are worried about performance a simple RAID-1 is going to suck completely? Sure you get some advantages on reads with a decent controller but that's it. For performance critical systems a large RAID5 with a good controller or a RAID-10 across one or more controllers is definitly the way to go. For database type operation with a heavy write load (the most common load where this level of optimization is necessary) present the general rule is the more spindles the better. Of course if you have the cash the real answer is to get a Netapp or EMC box and a vendor consultant and have them tell you what you need.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  7. Why RAID5? by TheLink · · Score: 1, Interesting

    What are you using it for? RAID5 is slow for writes. Plus AFAIK rebuilding a RAID5 is a LOT slower and hurts performance more than rebuilding stripes of mirrored drives.

    What are the applications? Would you be needing more drive space or adding drives in the near future?

    If it's a single application and you know you are not going to need to expand soon or add/change apps - drives are BIG compared to what app needs AND performance is _THE_ issue. Then I'd suggest optimizing around the application.

    For example if you have an OLTP postgresql database app, you should put the transaction logs on a separate array optimized for writing speed, then put the tables, indexes on another array, and maybe the temporary sort directories on yet another array.

    Even though striping etc helps, if you understand how the application works, it'll often perform better with each type of access on separate arrays. Of course if the next version of the application changes the way it does thing drastically then all bets are off.

    You should probably put the O/S stuff on a mirror/array by itself, so the O/S can go do whatever it wants and mostly not affect your main application throughput.

    Typically there are diminishing returns as you optimize more exactly to what the application needs, and you usually lose flexibility the more you tailor the configuration to a specific scenario.

    So go for big wins. Forget about the last 5-10% performance gains if you are going to lose flexibility or add significant administration cost (complexity).

    --
  8. More more more by Jakosky · · Score: 1

    The more cards, the more buffers, the better the performance (marginally).

    I'll just assume it's an ERP, cause I like ERPs. They do a ton of reading and infrequent sustained transfers. If it is an ERP, your top priority should be more main system memory. Then use more smaller, fast drives. The more cards the merrier because your double or quadruple the buffers. At worst a buffer offers no advantage. Hopefuly it's a dynamic optimization supporting what the database is already optimizing in main memory. Little bonus for reliability: this might allow you to move drives to a new channel or card in case of failure.

  9. External an Option by OctaneZ · · Score: 1

    I've had great luch with Promise's Ultratraks. This is an array of IDE drives that connect to a SCSI interface. Using them in RAID5, and yes it does take some time to rebuild the set when you lose a disk, but if you can handle a little down time. Currently using the 8disk tower, populated with Western Digital 120GB drives. Works great, but when a drive fails, it takes about 6 hours to rebuild the set.

    1. Re:External an Option by Anonymous Coward · · Score: 0

      IDE drives do not belong in enterprise servers. The MTBF is far too low for 24/7 operation, and anyone that states otherwise is an idiot.

    2. Re:External an Option by OctaneZ · · Score: 1

      well you show me where it says "enterprise" anywhere in his post for one.
      google, which most of us would consider "enterprise," they're ability to keep orkut online not withstanding, uses IDE.
      if you have the ability to hot swap in a drive, the failure of a single one is inconsequential; yes with RAID5 you are going to take a time hit to rebuild the set, but as many people have already pointed out using RAID5 with the number of discs he is proposing is likely not his best move.
      Also glad to know you found that "Post Anonymously" checkbox.

    3. Re:External an Option by Anonymous Coward · · Score: 0

      I am well aware of the capabilities of RAID5, and especially everyone's overdependence on it.

  10. Concider software RAID5 by egarland · · Score: 0

    Consider using your CPU as the RAID engine. The hardware engines that venders use can easily end up underpowered when dealing with modern disks. Get enough SATA or SCSI ports and some hot swap bays you can build quite a powerful software array. If you dump the money you would have spent on a hardware RAID card into faster CPU you can easily end up with a faster overall solution.

    If you are planning to go the hardware route make sure you get a controller that can keep up. There's nothing worse than having a fast expensive CPU stalled waiting forever for a read because the array's tiny cheap processor is backed up with writes.

    Make sure if you go the software route, use an OS that supports it well. I know Linux's support is good but I've heard bad things about Windows. Make sure you can protect the OS as well as other data and can monitor array status and alert someone when things are about to fail or have failed.

    --
    set softtabstop=4 shiftwidth=4 expandtab nocp worlddomination
  11. No we will not do your homework for you. by Photar · · Score: 2, Informative

    This sounds exactly like a question I had in Computer Architecture class.

    It looks to me that if you're upgrading from a computer that was 1/4 the speed of today's servers, then if you get a modern server machine with raid SATA you'll be fine.

    --
    He who knows not and knows he knows not is a wise man. He who knows not and knows not he knows not is a fool.
  12. If the server has dual PCI-X buses... by Ayanami+Rei · · Score: 1

    it is better to stick a controller on each bus. This reduces contention across the controllers. That is, it is better to have two 2 channel controllers than one 4 channel controller, provided they aren't on the same bus.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  13. An incomplete question... by kelleher · · Score: 1
    You question should be a simple math problem. How much storage is required? What throughput do you need? Be sure to include expected growth over the depreciation period for both to keep the accountants happy (write-offs screw up runrate projections). Now it's just math based on tech specs to come up with several configuration options that meet your requirements. Once you have some options, a comparison matrix is one way to decide between the configurations you came up with based on cost, flexibility, scalability, vendor viability, and other "not strictly technical" factors.

    Two quick comments about RAID5. First, the posts dismissing it as an option due to performance concerns are silly since your requirements are unknown. Second, another poster already brought up the fact that a 3 disk RAID5 is a bit odd - adding little additional storage while introducing a write penalty. But hey, if it meets your requirements go for it.

  14. More Information... by gandy909 · · Score: 2, Informative

    This is a *nix box running a Court application from a vendor that used a Synergy DE ISAM type 'database' backend. We have about 100 users, a general mix of add/change/query operations but not a lot of deletes. It is keeping Court data, and that stuff never goes away. The reads are mostly displaying screenfuls of data or small reports to the screen all the time, or larger reports to the printer several times during the day. The writes are usually writing manually entered information, a screen or paragraph at a time, so there tend to be less of them, and at a slower pace, but all day long.

    The app is a legacy non-SQL type db that is not, nor ever will be, anywhere near normalized by any stretch of the term. The largest of the data files is just over 1 gig at this point. The OS file size limit is 2gb. Due to this, and the other reasons we will likely be moving to a completely different system in the 5 year range.

    Hardwarewise, the box as I inherited it, is a Dell 6400 rackmount server with 4 700mhz P3 Zeons (only 1 activated...don't ask), 1g mem, a PERC2(AMI MegaRAID) dual channel controller, and a split(4+4) backplane. It holds 8 9 gig drives in 2 arrays. Even with these small drives there is over 50% and 70% free space on the arrays.

    My budget limit is $10k to replace it. One of the options I was looking at was a Dell 2650 with a PERC3-QC controller and one of the Storcase 10 bay Infostations they offer on the Dell site to hold the rest of the drives. The way the app is so 'interconvoluted' together I don't think I gained anything by separating the data into 2 arrays and will likely just use a single array on the upgrade.

    I hope this helps... :)

    --

    (Stolen sig) Remember: it's a "Microsoft virus", not an "email virus", a "Microsoft worm", not a "computer worm
    1. Re:More Information... by speleo · · Score: 1

      It sounds to me like you will do just fine with a dual Xeon Dell 2650 and 5 15k internal drives in RAID 5. Or if you're concerned about disk IO (and from the description of you app it doesn't sound like there's that much) do a RAID 10 with a hot spare. I don't think I'd bother with the external drive array -- you don't need the complexity.

      Oh, you should be able to get this machine for half your budget -- don't order from the Dell website -- talk to a sales rep. You can get some very good deals on servers nowadays. Email me if you need a contact.

    2. Re:More Information... by Jjeff1 · · Score: 1

      If you're working with small files (1 GB) have you considered Solid State? Or something like this: Rocket Drive 4 GB memory on a PCI card, mounted as a file system - 3000$ US.

    3. Re:More Information... by davidu · · Score: 1


      PERC3 cards are all pieces of shit.

      Read the archives at linux.dell.com on the linux-poweredge mailing lists.

      The PERC4 are a great step up but you can still do better with your own cards.

      Also, don't ever buy drives from dell. Buy them from Dell "parts and accessories" (the phone number that routes you over VOIP to India...)

      You'll get the SAME, BRAND NEW drives from them, still under your normal warranty, still from Dell at about 1/2 or 1/3 of the price. Buy ten drives and they will really start to drop the prices.

      U320 76Gig 10,000RPM drives == $249 direct from Dell! That's hard to beat. They'll sell you the drive caddy too for about 10 bucks. If the person refuses to sell you the caddy just call back and talk to someone else.

      -davidu

      --

      # Hack the planet, it's important.
    4. Re:More Information... by peter · · Score: 1

      I wouldn't think you need to spend 10k$. A new machine with two SATA disks in software RAID1 might well handle the same I/O throughput as your old machine, if you have lots of RAM to cache I/O. Maybe a couple RAID1 sets, with four or six disks total. If you're only using one CPU now, you'll probably be fine with a single new CPU. The trick is to find a solid, reliable single CPU board. Tyan makes some good stuff... I like their dual Opteron boards, and I'd guess that their single Opteron boards are of similar quality. I don't know if it's possible to find an Athlon64 board reliable enough for use as a critical server.

      If your O/S can do software RAID1, you should be all set. If you need the reliability, but the O/S just can't do it for you, then hardware is the way to go. A 3ware card, even an older one, will be fine, or even a mobo-builtin SATA controller with fake-hardware (i.e. BIOS-driven software RAID). RAID1 is _easy_. RAID5 requires lots of buffering to avoid having to do reads to calculate parity, but RAID1 is easy. RAID5 is good for big arrays where write performance is less important than space.

      Depending on how important hotswaping disks is for maintaining uptime with RAID1, you should check on the drivers (and RAID controller card) to see what you have to do if a disk dies. (At least to install a new hot spare.)

      --
      #define X(x,y) x##y
      Peter Cordes ; e-mail: X(peter@cordes , .ca)
    5. Re:More Information... by Xross_Ied · · Score: 1

      Go for a Dell 2850..
      + Dual P4 Xeons
      + 800MHz FSB
      + upto 6GB RAM
      + six hotswap drive bays (optional split backplane 2+4)

      Go for..
      Dual 3.2GHz (if u have money to throw 3.6s for $1100 extra)
      4GB RAM (more is questionable benefit on x86's 32bit arch, some apps it may be worth it)
      six 36GB 15K drives
      addon PERC4/DC RAID controller
      All for $9012

      A RAID 10 config would be the best..
      + highest redundancy and
      + best performance.

      RAID5 is faster for sustained continuous reads/write but slower for random/small read/writes.

      HTH

      --
      This sig space tolet, reasonable rate.
    6. Re:More Information... by Anonymous Coward · · Score: 0

      Ditch the PERC4/DC and get the PERC4e/DC. Much better performance. Trust me.

    7. Re:More Information... by sxpert · · Score: 1

      I recently calculated the price for a brand new box with tons of storage (3ware SATA controller) and dual opteron with tons of ram for under 5K EUR.

  15. RAID5 != Performance by photon317 · · Score: 1


    If you're looking for performance, ditch RAID5 and go with RAID0+1 (mirror pairs of disks, then stripe the mirrors). It costs more in terms of dollars per gigabyte, but the performance and reliability increases are substantial over RAID5. The only justification for RAID5, really, is "we can't afford to buy enough disks to do something else" (which is a valid argument for many people). The other thigns you touched on still apply in a stripe/mirror world as far as splitting things over controllers and whatnot.

    --
    11*43+456^2
  16. 3 disk RAID 5 sucks by martin · · Score: 1

    you need at leaat 5 disks for reasonable performance on a RAID5 set, even with hardware support. (do some research). The more disks in the set the better the performance.

    also in RAID 5 the parity info is spread all the disks, otherwise it's a RAID 3 set, so loss os single disk doesn't mean major performance problems.

  17. seriously by chinakow · · Score: 1
    Here are some suggestions

    things to consider 1) hardrave sustained transfer speed, IBM made some bad ass 10k ultra 160 drives but they could only push 40 MB/s so a 4 disk RAID 5 would saturate the channel on the controller. also 2)consider the card slot 32 bit slot on a 66 MHz bus is 1053 Mb/s or 132MB/s in theory, so you need a faster bus like new chips or a 64 bit bus, most the last server hardware I worked on only wnet to 66 MHz bus speed with 64 bit busses, so your mileage will vary, so basicly get an Ultra 320 controller (Which will be a 64 bit card) and then you will have to worry about getting the data off the server to users, so gigabit ethernet otherwise alll the work you put into getting the hardrives to work fast is a waste, also personal prefference, I like raid cards from LSI logic, and hate what adaptec made. just make sure that the computer can handle the bandwidth all the way around. For 12 drives you would want 1-2 hot spares, an ultra 320 card, 10k rpm drives, and 2 gigabit NICs, and a router that would handle that kind of traffic. just my thoughts on doing it, there is a lot to consider, good luck



    Jon
  18. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  19. 3 2 channel controllers, 2 drives per channel by martin · · Score: 1

    Would give you the best write performance.

    *BUT* YMMV depending on how your application actually uses the I/O

    I know of a widely used RDBMS that really sucks on RAID5 due to its underlying data storage.

    You'll need to test with all the combinations and also for RAID 10 (stripped mirror) and RAID 01 (mirrored stripe) to see which gives best performance for your application

  20. Recommendations by Fished · · Score: 1
    First of all, can you provide some memory and/or processor utilizations stats? With an ISAM style database (these things are old as the hills) it is *unlikely* - but not impossible - that processor utilization is hurting you. ISAM style databases tend to be very simplistic and very lightweight compared to an SQL db. I would load up on memory and not worry as much about processor (unless processor stats suggest otherwise.) More memory will mean better buffering of disk i/o and more efficiency.

    Second, what OS is this running? Unfortunately, I doubt you can defeat the 2GB limitation without access to the source.

    With what you're describing as the read/write pattern, I would suggest you look at a RAID1 configuration, perhaps even "multiplexing" - that is, have three or more disks mirroing the same information, in toto. I would also strongly suggest that you load up on cache memory on the RAID controller - 1gb would not be unreasonable - which will give you a very high cache hit rate, reducing disk I/O.

    In this application, I doubt fibre channel would buy you much - it's limited to 150MB/s (although many don't know this), and is in theory no faster than SCSI3 drive for drive. Its real advantage over SCSI-3 lies in its ability to be networked for SAN applications.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
    1. Re:Recommendations by gandy909 · · Score: 1
      I'm a tad apprehensive about posting this info, as I enjoy having a slashdot id, and don't want to be cast out as a pariah, or be mentioned in the same sentence as Darl.
      The system in question is one I inherited. The only reason the OS hasn't changed to Linux is the fact that Synergy wants in the neighborhood of $20K for a 'transfer license' and the beancounters won't approve it.

      Yes, I have a SCO system. Whew! There, I said it. I'm not proud of it, but I do have to maintain it. What follows is the sar output from part of a typical workday. According to the docs, if %wio is over 15%, there is a disk I/O problem. It's the 3rd number after the time, since ./ insists on fudging the format. I was only able to include part of the day because of the 'lameness filter' but suffice it to say that the %idle hovers in the mid-upper 90's right up until the %wio shoots up, then it takes a nose dive.
      SCO_SV srvsco1 3.2v5.0.5 i80386 11/09/2004

      00:00:00 %usr %sys %wio %idle (-u)
      11:20:00 5 8 37 50
      11:40:00 2 5 80 13
      12:00:01 2 6 93 0
      12:20:00 2 8 90 0
      12:40:00 2 6 93 0
      13:00:00 1 5 94 0
      13:20:01 1 4 94 0
      13:40:00 2 7 61 29
      14:00:00 2 5 17 76
      14:20:00 5 12 40 44
      14:40:00 2 5 44 49
      15:00:00 2 7 91 0
      15:20:00 1 4 95 0
      15:40:00 2 6 34 58
      Average 5 4 27 64
      --

      (Stolen sig) Remember: it's a "Microsoft virus", not an "email virus", a "Microsoft worm", not a "computer worm
  21. Totally Unscientific Example by wang33 · · Score: 1

    At work we are replacing a bunch of file servers, and I just had to chime in with my totally unscientific benchmarks
    All systems dell sc1600's 2 x 2.4 xeon's 1 gb ram, perc/3 dual channel raid card
    for the highest usage server we did 5 x 36 raid 5 array 2 on one channel 3 on the other for ~ 100gig space + hot spare.
    for the others we did 2 73's mirrored one on each channel.
    All drives were same family from maxtor mark IV's i believe 10k's
    In my rudimentary testing using hdparm -tT the mirrored drives performed at 75% of the level of the raid 5 for both read's and writes.
    i'm not quite sure what to read into that, but i think given = # of disk drives the mirror would probably outperform the raid 5 but i could be way off base.
    YMMV
    Wang33

    --
    PAGERANK++ Robsell.com
  22. Transaction Logs and Such by Christopher+B.+Brown · · Score: 1
    We did some benchmarking of the behaviour of a Sun disk array for PostgreSQL; couldn't see a significant difference between having a separate "little array" and folding it into a bigger one.

    What seemed to be of value was to put WAL onto a separate array simply out of the knowledge that those disks would get burned through faster, and we'd know they would have a higher replacement incidence.

    What I'd like to do to fix that is to have a few GB of SSD, where heavy writes wouldn't hurt any disks.

    But once you have a smart enough controller with battery backed cache, how the disks are physically configured gets less and less important.

    --
    If you're not part of the solution, you're part of the precipitate.
    1. Re:Transaction Logs and Such by TheLink · · Score: 1

      Interesting. Did you do a lot of update+commits or just big updates and fewer commits?

      Maybe someone should have a "HDD" that's battery backed 1-2GB RAM for WALs or stuff like that. Rechargeable lead-acid gel batteries (2+ year lifespan).

      Would 1-2GB be good enough for such things?

      --
    2. Re:Transaction Logs and Such by Christopher+B.+Brown · · Score: 1
      It was a case of plenty of little updates; that's what the OLTP applications do, so that's the thing to test.

      The slick part isn't having a huge battery, but rather having a form factor that's similar enough to plain old disks.

      What I'd love to see is the combination of:

      • A bunch of RAM,
      • Enough Compact Flash to cover all of the contents of RAM
      • Enough battery to give enough time to serialize the cache to CF if power dies
      Long battery life isn't necessary; you just need long enough to write it all out to CF.

      And yes, 1-2GB would be enough to be immensely useful.

      --
      If you're not part of the solution, you're part of the precipitate.
  23. use a disk performance monitor by insensitive+claude · · Score: 1

    And learn what reads and writes are happening, and what is getting queued up now to create i/o bottlenecks. I haven't seen anyone comment on it, but understand that your primary LUN is just one part of the equation. At a minimum, you should be looking to separate your system files, your swap files, and your database partition onto separate arrays. For the first two, RAID1 is frequently the best choice.

  24. Add RAM by Gothmolly · · Score: 1

    Let the OS do the work. Add RAM. Have an Intel x86 box? Push it to 4G. Need more, go Opteron and push it to 8G. Trust in the filesystem buffering algorithms, and the speed of your system CPU(s), instead of the limp CPU and dinky cache on your RAID controller. And get a UPS. If your data set is large, dump the RAID5 and go RAID 0+1.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Add RAM by PornMaster · · Score: 1

      Xeon boxes can go above 4GB of RAM... for example, the HP DL560 does 4 Xeon CPUs and 12 GB of RAM.

      They're really nice boxes

    2. Re:Add RAM by Gothmolly · · Score: 1

      Intel's PAE is, by all accounts, a performance-killing kludge. If you need more than 4G, go to a real processor, not some 'paging' scheme which brings us back to the old DOS EMM386 days, only with larger amounts of memory.

      --
      I want to delete my account but Slashdot doesn't allow it.
  25. Easy use raid 1+0 by tkrabec · · Score: 1

    Since you are already using 4 drives just use raid 1+0 optimally split the 1+0 across 2 controllers
    and you will get muchbetter preformance. even just 1+0 is faster than raid 5.

    My lowly MS SQL server has 4 raid 1+0 channels.

    1 for the OS and swap, and 3 for databases.

    --Tim

    --
    TKrabec Pahh
  26. Re:One thing 3ware recommends is... by hlygrail · · Score: 1

    I disagree on the rounded cables statement. Round cables (esp. in >4-drive arrays) allows more airflow, which keeps the disks cool. For 10K and 15K rpm disks, this is critical.

    Now, if you'd said "don't try to make round cables yourself," I might agree -- even though I've done exactly that in the past AND once managed to cut one of the wires in the process -- but there is nothing inherently wrong with round IDE cables. You might claim crosstalk is an issue, but that's largely what the extra ground line are for between each and every EIDE signal wire (80-pin vs. 40-pin).

    Of course, SATA cables make this argument entirely moot... and if you're buying a new IDE RAID solution, and not buying a SATA RAID adapter, you're fodder for the /dev/ignore set anyway.

  27. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  28. PCI Express controller by Anonymous Coward · · Score: 0

    I am going to recommend getting a PCI Express RAID controller. I have seen some vast improvements in performace with these controllers, PERC4e (LSI logic). Also, if possible with larger number of drives set up a RAID 10 configuration. For instance for 1 channel 6 drives or 2 channels 6 drives (3 per backplane if split) you would set up 3 mirrors that are spanned. On the 2 channel config the mirrors would be split across the backplane. This provides the best performance and data is redundant. 73GB 15K RPM HDDs are the route to go for performance.

  29. useful but not fancy configuration by Anonymous Coward · · Score: 0

    If your budget is $10k and its upgrading a legacy system without a large database, you might just go with a Dell 2650 model or whatever is the current model. This can hold 5 drives. I use 2 mirrored drives for the operating system and 3 RAID-5 drives using the hardware based perc3/dc controller. My drives are 36GB but you can probabley get 73GB now. The advantage is that you don't need an external chassis and you might be able to get 2 servers for close to $10k. The second server can be used to test patches and other configuration changes before going on the production system and if its EOL you still have one server for parts. And if you get really fancy you might be able to get some type of replication working.

    1. Re:useful but not fancy configuration by the+Jolyon · · Score: 1

      The 2850 will hold six drives which allows for 3 mirrored pairs to separate out OS, logs and data.

      It should be possible to get 147GB drives for the data mirror and faster 73GB drives for the others.

      I don't know how the Perc controllers are but when I was speaking to EMC about this they mentioned that they put a lot more effort into optimising RAID-5 performance in their SAN products than other RAID types as this is the most commonly used.

  30. Re:One thing 3ware recommends is... by sxpert · · Score: 1

    if he's about to replace the controller, move to SATA and be done with those wide cables..