Was wondering if anybody had done any real life measurements on what sort of IOPS are being generated by your Windows XP virtual desktops? I'm in the process of sizing a pilot environment at the moment and would like a decent base to start from. Once we have run the pilot we will be able to measure more appropriately for production but as I say, looking for a good starting point for the pilot.
I've read numerous blogs / reference material across the web and obviously the Windows 7 IOPS Deep Dive white paper is pretty popular and although specific to Windows 7, does mention Windows XP briefly with some reference tables. My worry is that all these papers are quite often written on the base of testing done in a lab i.e. no real life users. Would much rather hear from some people that have first hand experience now having deployed VDI in production.
My users will mainly be task workers with small percentage of knowledge workers (10% max). Having fully optimised the XP image for VDI including all the indexing, AV, registry etc. tweaks, right now I'm thinking about 8 IOPS per desktop for linked-clones.
Does this sound like a good place to start or am I well short?
That does sound reasonable, you do however need to take peak-io into consideration. For example on monday morning at 9 when everyone starts their email and so on.
So in my production environment with many knowledge workers, I am pushing between 12 and 25 IOPS average, with certain spikes happening during key times like Outlook opening or boot up. Note, I have disabled the page file on my Linked clones and rely solely on vRAM for system memory, by not doing this I can see the IOPS really getting out of control. I am running XP SP3.
Putting a cap on the IOPS would ensure that a disk cannot consume all the IOPS of an array during boot up and such, which would lock the whole environment. I am currently trying to devise a solution to do this, but will wait for View 5 to come into my environment before I do this to ensure that I have all the right components together for a modern practical example. But to directly answer your question, I would say an average of 12 IOPS is not unreasonable with 25 IOPS being the max.
Now, for the naysayers out there, I grabbed one of my old laptops and ran IOMETER on it and was surprised to find that the older PATA disks that XP runs perfectly well on could sustain about 20 IOPS with the page file on (which is typical in a physical machine), so I don't have any issues with making the statement that a max of 25 IOPS is more than enough for the majority of task and knowledge workers.
I also ran tests on other hardware and found that SATA III disks max out at 80 IOPS at best, and most people run these even in server class hardware, so I am even willing to say that for most servers that 50 ~ 70 IOPS is plenty, obviously having to adjust for various scenarios. Basically, the white papers that state that you need very fast storage capable of tons of IOPS are great if you have an unlimited budget, but in a practical world one can deploy a VDI environment on mid-tier storage with no ill effects to the end user.