Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have Asus P6T Deluxe V2 motherboard with integrated HDD controller providing 6 SATA II (3 Gb/s) ports. I use this controller for 2 SSDs and 4 HDDs. SSDs and one HDD are for host system (Windows 7 Ultimate x64). Remaining hard drives store virtual machines (VirtualBox).

I sometimes need to run multiple virtual machines to simulate some environment. I noticed that "speed" of those machines drops if I run multiple of them in the same time (they still have same amount of RAM and CPU cores assigned) and I also noticed heavy disk usage. I understand that this can happen if I run two machines from the same drive but it looks like machines running from different drives somehow share the throughput as well. Is my suspicion correct or should I look for problem elsewhere?

I wonder what benefits will be to use some separate specialized HDD controller - for example some Adaptec device like 6405E. I don't necessarily need RAID at the moment but it can be useful option for future - I think I'm looking for increasing performance and throughput of separate drives.

I also don't understand controller's features. What does port mean? Some devices offer 4, 8 or more ports but also mentions expanders to connect tens or hundreds of HDDs. Does it mean that port is single dedicated bus which can be shared (bandwith can be shared) among multiple HDDs (in case of expander)? How many these dedicated "ports" are available in integrated controllers?

The mentioned controller offers 6 Gb/s ports. Does it mean that I will be able to use full speed of SATA III drives?

The separate controller is quite expensive device. Will it improve my experience (performance, data throughput) in mentioned scenario? Will it improve my day to day experience with my computer used for everything from browsing Internet to play games or develop applications? In short - does it worth to invest into such device if the mentioned scenario is not the main usage of my computer?

share|improve this question
If you're not using RAID, it's unlikely to make a difference. High-end RAID controllers primary feature is hardware RAID acceleration. – David Schwartz Feb 8 '12 at 10:50
up vote 3 down vote accepted

You're asking sooooo many questions. If you really want superuser to help you, you may want reformat to clearly mark out which are the real questions.

I'll just answer the ones I can:

  1. Virtual machines, even the hardware-assisted ones, add some overhead to every disk access. This could be the emulation of the IDE bus, the file system overhead for the virtual harddisk files, etc. These make disk access more CPU intensive and require more context switching to complete, which in turn just wastes more CPU time. You can improve the situation by using SATA or SCSI controllers in your VM instead of IDE and using RAW disk access instead of virtual disk files.

  2. You didn't actually say whether the disks used by the VM are RAIDed or not. If they are, then all VMs certainly share the throughput. If they're not, they will also compete for some resources or share some queue in the kernel, so the overall throughput is limited. But I think the CPU usage is more significant here as mentioned in 1.

  3. I am assuming you have enough physical RAM to hold both VMs and your OS. If you don't, you may experience a lot of paging which certainly hurts disk performance.

  4. The Adaptec 6450E is a dedicated SAS RAID card. The interface is compatible with SATA disks, but is generally used in server environments only. SAS is the serial version of SCSI, so naturally you can have multiple devices on one port. SATA, on the other hand, uses a point-to-point protocol, so you can only have one drive connected to one port.

  5. The controller is expensive because it's a dedicated RAID controller. These ones contains their own processor and memory, which will handle most (if not all) the computation for the RAID to work. There is also fake RAID or software/driver RAID where most of the RAID work is handled by the CPU. The latter form is most common in consumer systems as it is very cheap, but obviously the performance suffers.

share|improve this answer
I think reformatting will not be needed because your answer is something I was looking for. – Ladislav Mrnka Feb 8 '12 at 15:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .