Slow SCSI performance on a PERC3/DC

bbz_Ghost

2[H]4U
Joined
Aug 4, 2006
Messages
3,548
Ok, it's rare that I need to ask for help, but as I'm weak in the SCSI arena, well, here I go. This is a long post with a lot of info, but that's me: overly thorough just because I can be. :D

Here's the setup:

Dell Precision Workstation 530MT - shipped in June 2002 (yes, it's old)
dual Xeon (Prestonia) 2 GHz 512KB L2 processors
2GB of RDRAM 800 (yes, it's slow, but it works, and if I could disable the ECC I would)
2 x 73GB Seagate 73LP 10K RPM Cheetahs U160
Adaptec 29160N onboard SCSI controller (supposedly 64 bit connection to the PCI bus)
Dell PERC3/DC aka AMI MegaRAID 1600 Elite caching U160 RAID controller with 64MB of cache RAM onboard (64 bit PCI card)

That's the stuff that really matters and pertains to the question/situation I'm trying to resolve. The rest is a Plextor PX-760A 18x burner, a WD WD800BB 80GB ATA drive (the ATA drive and the Plextor are on the IDE channels, Masters, no other ATA/IDE hardware).

The situation is this:

When the two Cheetahs are hooked up a U160 cable as ID 0 and ID 1, they work exactly as expected. The Adaptec 29160N sees them as U160 devices, 16 bit bus, and they give proper U160 speeds for the age these drives are (manufactured around early 2001 I believe). They show average reads of about 44MB/s (using HDTach) and burst speeds of 115-120MB/s, right about where they should be. I was expecting closer to 160MB/s because of the U160 bus, but 115-120MB/s is just damned fine with me.

That's as single drives, on the same cable, attached to the onboard Adaptec.

Now is when it gets weird.

I install the PERC3/DC card, which has the latest available firmware on it. I remove the cable from the Adaptec onboard controller, attach it to the PERC3/DC on channel 0 (I've tried channel 1 also, same results), turn the computer back on and disable the onboard Adaptec controller.

When the PERC3/DC BIOS kicks in, it sees the two drives at U160 as it should. That was a problem in itself that I tracked down to a defective U160 SCSI cable with one single break in one of the outer conductors. With that cable, the drives were never seen as anything more than going 40 in sync and 8 bit wide bus. So I resolved that issue with a replacement cable and now the drives work as expected.

The PERC3/DC sees the drives as U160 drives, and that's fine. The issue I'm wondering about comes from when I set up a proper RAID 0 array on the PERC3/DC. When I do that, and then I install XP Pro, or 2K3, or any OS actually I get no better than 65MB/s sustained reads - and really, that's FINE with me, really it is. I know about RAID 0 and it's shortcomings; this RAID 0 thing is for testing to learn more about setting up such arrays, etc.

My problem comes from the burst speeds off that PERC3/DC controller because they never go over 65MB/s either. That's the rub, right there. I would think - hell I would expect that 2 U160 drives working in RAID 0 could do that much for burst speeds. I know that the 65MB/s average read speed is wonderful compared to the single drive(s) maxing out at roughly 44MB/s. But come on, 65MB/s burst? That's crazy.

If one drive can do 44MB/s average reads and then burst at nearly 3x that much (close to 120MB/s as mentioned earlier), then surely two such drives working in tandem should be able to provide a burst speed that can match or exceed the burst speed of one lone drive. Shouldn't that be the case? Especially with a caching RAID controller?

I've tried to narrow down the issue, and right now my suspect appears to be the controller itself. I can't test the drives individually on the PERC3/DC because it's a RAID controller - it won't let me set up each drive as a "volume" without it being attached to an array of some kind off the controller, so that's effectively a testing dead end.

And I don't see any specific way to test the burst speeds directly off the caching controller either. My logic works like this: if one drive can burst at 115MB/s, then surely both of them working together can feed enough data to the cache on the controller for it to give the data up at well over 120MB/s - hell it should be able to hit pretty close to the technical and theoretical limit of 160MB/s and saturate the U160 bus totally.

But that's not happening, and I can't figure out why. My knowledge of SCSI hardware is limited, I admit that, hence me asking for some advice. Are there any freely available SCSI testing tools that might be able to clue me on the severe lack of performance?

I've located information from some old AMI documentation and some postings on a variety of forums that say the MegaRAID 1600 Elite works best and is optimized for Write-Through caching with 64KB stripe size on the array, so that's what I use. I wonder if I'd have to go through all the trouble of multiple installs and reconfiguration to actually test that.

But if the drives can pump 65MB/s average reads across the U160 bus, I can't see why they or the controller can't pump the burst through at double that, or even better.

In HDTach, when the drives are in RAID 0, that 65MB/s average read comes from a min/max of 64 and 67, respectively. It's literally a flat line from the start of the array to the end, all 140-ish gigs of it. That I thought was pretty cool to see that flat line go over the entire span of the data on the platters.

Ok, that's enough info. Someone can either help or maybe tell me what I can check or modify to see what gives. It's not my intention to run RAID 0 on a regular basis; I just do this for learning, so now I need to learn how to maximize the performance in light of some issues.

Thanks...
 
It's a PERC3. It's a crippled LSI rebadge. Be glad you're getting the numbers you are, because that's a frigging miracle out of a PERC3. Those things are utter crap at their pinnacle. If you want performance, get a real LSI Elite1600 instead of the cheap hacked Dell trash.
 
Somehow I just knew if anyone commented, it would be j00.

Thanks for the tip. It was free so, I can't complain, but since it is so underperforming with the U160 drives, I chose to just stick with the on board Adaptec for day to day usage. Was just curious about why it is so underperforming.
 
I'll be honest I didn't read your post, just skimmed and read the title.

I have a PERC3/DC and I'm lucky to get 20megs/second out of a 7200.6 seagate, an atlas 10k.3 or my 15k.2 seagate.

they ALL perform wonderfully on my 29160 controller though. my suggestion, do what I did, throw the PERC in the garbage, I even have a 128meg DIMM for it and it just plain sucked
 
Yah, that's probably what I'll do, or just keep it around for shits and giggles. Seems like such a waste of possibility, I swear. Wonder what "hack" AreEss was referring to because it sure as hell seems to match the real MegaRAID 1600 Elite. Could Dell have put on a BIOS that's simply chopping the performance down to ridiculously useless levels? Hmmm... I wonder.

Hoping to find some decent U320 drives at some point and a relatively inexpensive U320 controller for them. Not RAID, mind you, just a U320 storage subsystem for day to day use. I'm kinda jazzed on SCSI nowadays considering how I can do so much at the same time and it doesn't bog down at all like ATA/IDE/SATA seems to on a second box I have.

I'm late to the SCSI party, as it were, but dammit I'm here... :)
 
Yah, that's probably what I'll do, or just keep it around for shits and giggles. Seems like such a waste of possibility, I swear. Wonder what "hack" AreEss was referring to because it sure as hell seems to match the real MegaRAID 1600 Elite. Could Dell have put on a BIOS that's simply chopping the performance down to ridiculously useless levels? Hmmm... I wonder.

That's exactly what it is. The Dell BIOS is custom written by Dell themselves, and they didn't bother to look at the documentation. The end result is that the performance is abysmal if you're lucky. Even the RAID1 performance is awful, and I've used Elite 1650's to break 95MB/sec sustained in RAID1. (Like it or not, RAID1 is always fastest.) Dell just destroyed these cards.
 
Blah, figures. I would guess trying to install an actual LSI BIOS for the 1600 Elite wouldn't get very far and probably brick the card. Oh well, thought for a freebie I might have been able to put it to good use, guess not.

Thanks for the info... and Happy Thanksgiving

ps
Without getting into too much, could you explain how RAID 1 was faster/fastest? Was that a setup with just 2 drives total or more than 1 (but still an even number of course)? Just curious, and I know from reading some of your posts you're basically a SCSI God so, forgive me for being inquisitive.
 
Blah, figures. I would guess trying to install an actual LSI BIOS for the 1600 Elite wouldn't get very far and probably brick the card. Oh well, thought for a freebie I might have been able to put it to good use, guess not.

I'm in the same situation.

Can we flash the Perc3 with the 1600 firmware?
 
Ugh... oh well, since I ain't gonna use it anyway I'll give the LSI firmware a shot sometime in the next few days when I open this case. Clamshell cases seem like a nice idea but boy they're a bitch to really open and close properly. :p

If I'm successful I'll report the findings.
 
Back
Top