Reduce VDI storage IO with a RAM disk

ram_disk_magnet-p147722235587553313q6ju_400 VDI can be the worst nightmare for storage administrators without a properly sized SAN infrastructure. I’m not a storage guy (they are overrated 🙂 ) but if I was, I would be happy looking at my budget for the desktop virtualisation project.

The IOPS discussion around VDI is no news and has been discussed here by Chad Sakac, here by Brian Madden and by many others. As we already know VDI can be highly IO intensive requiring additional IO performance from the storage array.

There are two commandments when discussing VDI IO:

1 – Size your storage array and storage network appropriately for the workload.

2 – Tune your virtual master images as much as possible to reduce IO consumption.

The commandment number 1 has been discussed in both posts I mentioned earlier. Let’s once again review commandment number 2.

In 2009 I have published a article and a spreadsheet with nearly all possible and recommended configurations for Mastering VDI Templates. VMware has also published the Windows XP Deployment Guide. Those recommendations are excellent for reducing resource consumption.

What’s Next?

Another technique to reduce IO in VDI environments where web applications or general internet use is high is the creation of a RAM disk to be used by Internet Explorer or web browser of choice. Creating a small RAM disk (64MB as an example) in the desktop template and then mapping the temporary internet folders into it will greatly help to reduce IO going back to the SAN.

The reduction on IO is because of the high amount of data being written to temporary internet folders from image downloads and processing. Make sure you configure Internet Options to use the new RAM disk.

Lovely to see that IO workload moving backwards… but be careful and make sure VMs and hosts have enough memory for the RAM disk and applications in use by users in order to avoid VM and host memory swap. I personally would not recommend, but some administrator like to disable Windows page file to avoid the IO cased by the swap file.


Skip to comment form

    • Beew on 05/08/2010 at 11:52 pm

    Great Tip.

    Could you please give a hint on how to create such a RAM drive. I’ve never used one before.


    • PiroNet on 05/09/2010 at 12:53 am

    And what about Microsoft reducing the IO requirements in W7? A special W7 VDI edition!?
    From Exchange 2003 to 2007 we saw a real improvement IO wise, surely MS could do the same thing for W7, no?


  1. Hi Andre, I have used ramdisks successfully on a few occasions. In a VDI environment there is much more to consider such as having a lazy write-back (otherwise data can be lose) to disk – aka ramdisk that is a partition shadow.
    Also, page translation is a big overhead in VI – if you move heavy hitting IO from storage into memory with highly dense VMs (15 /core) then are you sure there will actually be tangible beneift?
    I might actually PoC this and post the results somwhere.

    At the time I wrote this article the circunstances were a little bit diferent.

    As an example, VMware View 4.5 now allows administrators to place Linked Clone deltas in a diferent LUN with diferent raid configuration and diferent type of disks. This allow them to place the replicas in tier-1 fast storage such as SSD. SSDs are now more affordable.

    This segmentation is helpfull to provide better IO and trhoughput to the replicas and at the same time reduce IO and trhoughput at those LUNs hosting the delta disks.

    The tradeoff between memory for ramdisks and tier-1 storage is marginal. So, perhaps my view on this has changed a little bit. Nonetheless is still an important technique in some cases.

Leave a Reply