I was reading Andre Leibovici’s excellent article on View Floating desktops and comparing it with my feeling about View features and use. I completely agree that if possible all desktop pools should be floating assignment, ideally using View Composer and refreshing at logoff so users always get the same state when they logon.
One of the key things Andre mentions is controlling the IOPs as storage performance is a top cause of scalability issues with VDI. My preference for refresh at logoff will cause additional IOPs, this may drive a preference to refresh less frequently. The other IOPs load is roaming profile load at logon, it was this that I took a look at.
In my lab I run a Windows 7 floating desktop with refresh at every logoff, so I use roaming profiles and folder redirection for persistence of user state. I also use ThinApp to get some application into my desktops, especially ones that like to store persistent user data in a non-roaming AppData folder such as FeedDemon. ThinApp uses a Sandbox folder for each application to store user specific files and registry settings, this can become large particularly with FeedDemon putting it’s cache there. The default sandbox location is in the user’s roaming AppData folder, consequently bloating the user’s profile and requiring more IOPs at profile load. In my case my profile size was just under 40MB, of which 33MB was sandbox.
Luckily it is possible to change the sandbox path in the ThinApp package. Simply locate the “[BuildOptions]” section of the Package.ini file and either create or modify the “SandboxPath” entry to point to a user specific shared folder. In my case I have a folder in the user’s home directory and a login script that connects H: drive to the home directory so the section looks like this:
[BuildOptions] SandboxPath=H:\VDIFolders\Thinstall\
After rebuilding the package and placing it on the deployment share I was able to move the sandbox folder to my home directory. Now my profile is under 6MB in size, minimising the IOP load at logon and consequently the time required to logon.
© 2011, Alastair. All rights reserved.
Have you ever had an issue(IOPS)with the location of where all application data is being redirected?
The IOP issue is with the sandbox being copied down at logon and back up at logoff.
When the sandbox is being accessed to run the app there are usually fewer IOPs as the app doesn’t have to read the whole sandbox at once. There will definitely be IOPs on the network sandbox location that would not occur there if the sandbox was inside the VM, however overall there will be fewer IOPs without the copy. This is the same help that redirected folders give with roaming folders.
This is a great tip. Thanks for sharing. Helped me immediately!