Single IDE vs Dual IDE?
jrsimmons asks: "I'm running performance tests on IDE interface configurations
for my company. I've discovered that disk to disk I/O is significantly
faster (in the realm of 30%-40%) when only a single IDE interface
is active versus when two IDE interfaces are active. This is
significant as our servers are used to provide Point-of-Sale
availability for registers in the retail environment, which is heavily
dependent on disk i/o performance for efficiency. I have run the tests
under both Windows and our retail OS (sorry, no Linux) with similar
results. What are some possible explanations for the detrimental
effect the second active ide controller has on disk I/O speed?"
Has anyone measured this deficiency on Linux and other Unices?
Your results sound strange to me.
For two disks, you should get the best results with both disks configured as masters on two different IDE buses.
If you're not seeing that, I'd check that you have the correct drivers/optimizations for your IDE chipset enabled. You also might want to check IRQ allocation to make sure there's no strange conflicts . Check your windows (NT/2000) event log to make sure there's no strange IDE timeouts indicating hardware issues. If you still see the problem you should try your test on a different hardware platform (motherboard/controller combo).
From your description, however, you might want to go with a raid technology such as RAID 1, RAID 5, or raid 1+0. It will offer much better redundancy and possibly improved performance.
What exactly do you mean by active? There are two drives on one IDE interface? Two Drives, one on each interface? One Drive, And both interfaces turned on in the BIOS?
I'll take for granted that you actually have a good way of measuring drive performance, and it's not just a 'feeling'.
What motherboard/Chipset/PC's are you talking about here? Have you replicated the results on dissimilar hardware?
What was significance of the second active ide controller? were you moving data to two drives?
And finally, Why is your system sooooo dependant on disk I/O? If this is the case, mayhap you need to re-engineer the app somewhat to balance out the disk IO aspect. If it's actually CONSTANTLY saturating one or two IDE channels, Quit being a complete twit, and move to SCSI, where this isn't a problem.
If you actually want help on this, you had better provide a heck of alot more information up front.
G
"...In your answer, ignore facts. Just go with what feels true..."
Try Multiple IDE controllers. A few factors come to mind regarding performance. The first is the speed of your cpu(s). Unlike scsi drives, IDE's tend to bog down your cpu - I would try throwing a heavy load at the drives, while keeping an eye on the cpu utilization. Another is bus speed. You know the saying, "a chain is only as strong as its weakest link." If your ide controller is plugged into the *shared* pci bus, see what else is on the bus. you may be able to take something off - like a pci video card etc.. If the controller is embedded in the mother then this is probably not the issue. Also - try comparing the throughput of the bus with the throughput of the ide controller(s). One final thing - on the OS level, check read cache, dma settings, etc...
X
Just a wild Guess, but....
If the share the same PCI(I am assuming its not a ISA ide bus) bus then you have twice the disk IO flowing through the same limited bandwidth....this is bound to show some performance degradation.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
This is also my understanding : contention of the PCI bus. Some systems have multiple PCI busses (sorry, can't name one of the top of my head) and if you only use one peripheral on each bus, it gets the whole bandwidth to itself. AGP is essentially a dedicated PCI bus (although double- or quad-pumped) to the graphics processor/memory. Therefore, it has no contention and 4x the throughput (potentially).
SCSI is a much better option for fast disk access, especially if you stripe the disks. I've seen a 100% performance boost (ie a doubling of speed) on a 12-hour job by employing disk striping.
I'm out of my tree just now but please feel free to leave a banana.
I'd guess one or both of the drives is not in DMA mode. It's probably configured as PIO mode.
This is a pretty common mistake - if the drive is in PIO mode, all i/o goes through the cpu.
No one should be running a performance-critical server on IDE drives. Despite performance improvements in recent years IDE still sucks when their is more than 1 device installed, this is why SCSI continues to exist.