Parallels Performance Tip #1: Don’t use a External USB HD to hold your VM

December 18th, 2006 View Comments

UPDATE: I’ve written up a more through review of using eSATA on my MacBook Pro here.

This is the first of several tips I want to write up with regards to squeezing every last bit of performance out of Parallels Desktop for the Mac.

One of the tried and true tips for running virtual machines has always been: “Use an separate drive to house your VM

While this is true for Windows computers running VirtualPC or VMWare, this isn’t the case w/ Intel based Macs running Parallels Desktop for Mac. The reason is that the current crop of MacBooks ( regular and pro ) have SATA hard drives inside, not your standard EIDE ( or PATA ). The current MacBook SATA bus thus runs at a maximum of ~1.5 Gb/s ( ~150MB/s ). Compared to maximum USB 2.0 speeds of ~480 Mbit/s (~60 MB/s), your internal hard drive will be much faster.

Now, there is some credibility to putting a faster drive ( RPM wise ) in an external USB enclosure is better than your internal hard drive. However, even if the drive is 7,200 RPM ( compared to 5,400 RPM drives in the MacBook ), you’re still cutting your pipe almost by two-thirds. So while your hard drive will be able to find data a little quicker, your data will still be slow to come back to you.

However, there is one case where an external drive DOES make more sense: External SATA (eSATA ). eSATA is a external version of SATA that is now starting to show up in devices. eSATAs throughput of ~3.0Gb/s makes regular SATA like pokey. MacBook pro users can pick up several enclosures that support both USB 2.0 and eSATA. A couple of solid manufactures are Icy Dock and Vantec. However, the only option for adding eSATA ports to your MacBook Pros is to add a eSATA ExpressCard/34 expansion card. (Sorry MacBook users, no ExpressCard for you.)

There are only a couple of vendors that make a eSATA card that is supported by OS X. The Tempo card is pretty expensive at $110, but SIIG makes a eSATA card that retails for $80.

Certainly, once you add up a eSATA enclosure, express card and perhaps a new SATA drive, this little project could get a little pricey.

But for 3.0Gb/s speeds, isn’t it worth it?

§ View Comments to “Parallels Performance Tip #1: Don’t use a External USB HD to hold your VM”

  • Tony Arnold says:

    I personally find that an external Firewire400 drive works great. The thing about running VMs from your internal drive is that the host operating system needs to compete with the VM(s) for access to the hard disk. Depending what you’re doing, this can make both the host and the guest VM unresponsive.

  • Tony,
    That’s a good point, and it’s true, but the throughput of your internal SATA drive is still greater than an external FW400 drive. You’re talking 400Mbits/s vs. 1.5Gbits/s, a huge difference. A “best of both worlds” solution is what I am doing now: running my vm from a eSATA drive. My experiences with that is the next tip I will be publishing.
    Stay tuned.
    - Griffin

  • joebob says:

    actually though who cares what the bus bandwidth is do you really think your 4200 rpm internal drive is going to come even close to using that 1.5Gb? I think they will be pretty close

  • Actually, the MacBook Pro’s ship with 5400 RPM drives:
    http://www.fel.fujitsu.com/home/v3__product.asp?pid=475&inf=fsp&wg=15
    But like I said above, even if the external drive is 7200 RPM, the bus is still way slower. So much so that the extra 1800 RPM’s won’t really make much of a difference.
    - Griffin

  • Jamil says:

    I am actually trying to get everything working with an addonics esata express 34 card on macbook pro running parallels. As of the moment, It does not have native macintosh compatibility, and I cannot get the parallels to recognize the hardware so I can install the xp drivers. I kind of dont want to have to use bootcamp.

  • Jamil,
    You actually don’t need to do anything to get parallels to use your express card. If you can get your esata hard drive to show up under your mac, then parallels will treat it just like any other volume on your computer. When creating your vm, you simply need to specify the location of your hard drive files as your esata drive.
    - Griffin

  • George Cook says:

    Don’t know if I agree.
    What about physical seek speed on the disk heads? it’s not just throughput or rpm’s is it.. remember your computing 101 class? The disks have to physically seek that data before they output it at whatever rpms.. those rpm’s kick in for nice sequential, unfragmented data. I find it hard to believe that OS X, all of it’s apps that are running and it’s own internal swap files will somehow be nice and sequentially lined up to take advantage of the drive.
    I could be wrong, but I imagine that the heads will be jumping all over the place negatively impacting performance. I run parallels on an external drive and have 9 virtue desktops all with apps (such as flash, firewoks, remote desktops various eclipse’s and others) I never had a performance issue with an external usb.
    This would be impossible for me to achieve (even with my 2gb) if I was using the internal drive.

  • George,
    I’m not sure I follow. Do you mean that that an external USB HD will be faster than an internal HD? Unless the RPM’s are radically different ( 10k vs. 5400RPM ) I don’t think this is the case. At least in my experience, the internal SATA outperforms an external USB drive, as least when it’s a 7200 RPM drive in the USB case.
    Now, you bring up another point about sequential access. OS X has built in disk defragmenting, so in most cases, the data is lined up. However, even if you’re using a external drive, you’re still running off of one giant virtual hard disk drive, so the fragmentation of the hosted drive isn’t really going to effect performance. Now, the fragmentation of your virtual hard disk inside windows is another matter.
    Though I am not sure if that was your question or not.
    - Griffin

  • emilien says:

    Hello,
    Thank you for your tips, they are very welcome!
    I have a short question: unfortunately I installed already XP on my MacBook before reading this useful article.
    Is there a painless way to move everything to a Hard drive without having to reinstall everything?
    Thank you in advance for any advice on this :)
    Regards,
    Emilien

  • LK says:

    I just got a macbook pro w/ a 5400. I’m interested in getting the best performance out of parallels w/o loosing performance on my mac. So I’m happy I came across your article.
    I do have questions if you don’t mind the time to answer.
    Question 1: what format does the external HD need to be in?
    Question 2: should the HD be used exclusively for VM? Or can I still use it for other things like storage or more importantly, a pagefile for Photoshop?
    I’m off to read the rest of part 2 and some performance tips you have!
    Thanks again.
    LK

  • Hi LK,
    1. Format: HFS+ is fine.
    2. if you want the best performance, then yes, only use the external HD for the vm while you’re using the VM. this will reduce contention on your external HDs pipe.
    - Griffin

blog comments powered by Disqus

What's this?

You are currently reading Parallels Performance Tip #1: Don’t use a External USB HD to hold your VM at Strange Loops.

meta