In a previous post I installed the Horizon View Agent on a Windows 7 VM. The point of this install was to try out Horizon View Agent Direct-Connection. This is a ‘plugin’ to the Horizon View Agent that allows for a Horizon View Client to connect directly to a VM instead of going through a broker. The advantage of using this method is that if you are using persistent images (provisioned through View or manually) then you can provide the user the direct connection and AVOID setting up the View Connection Server or connecting through it (maybe a ROBO situation where View is in main DC while image is in branch).
The point of this blog post is not to talk about VADC directly, but to talk about limiting PCoIP bandwidth. In my testing of PCoIP I was really impressed by the speed of it and the ability to use applications like Lync sharing without many issues. I was even able to watch Youtube videos inside of my View session with no issues. This quality of streaming (especially when we bump up to multiple monitors) would require increased bandwidth so I wanted to see if there was a way to cap it.
My VMware SE and TAM pointed me to this page in the View documentation that describes variables that limit PCoIP bandwidth. Since I’m a n00b with View, I didn’t really understand where these settings lived. If they were registry settings, were they on the VM or the View server? Or possibly the Client? I didn’t have a View server so I would try these on the client.
After downloading the Horizon View Extras Bundle, I unzipped the file onto the destination VM and saw a bunch of “adm” files. These weren’t associated with anything so I couldn’t double-click, but they were viewable in notepad.
I did some searching for ‘adm’ and found that these could be imported via gpedit.msc
Start – > Run -> gpedist.msc
Right click on on Administrative Templated -> Choose Add/Remove Template -> Select the PCoIP.adm
Note that these settings could have been done via registry as well.
Then you will see all of the settings that can be adjusted from the previously referenced documentation. Specifically I looked at “Configure the maximum PCoIP session bandwidth” which is set to “Not Configured”. To really test this configuration, I played a Youtube video and watched the network transmit bandwidth of the VM in the vCenter advanced performance metrics (got to about 1500 kbps). I then set the registry value to 300 kbps, disconnected and then reconnected.
The reason I chose 300 kbps was that I attended a session at VMworld by IQOR who has around 10,000 concurrent VDI vms, and that’s what they decided on (they didn’t mention if dual-monitors had higher settings).
The result was that the video playback was a lot more choppy and the VM network transmit stats did not go over 300 kbps. This may be good for a knowledge worker but the use cases that I was evaluating included using Lync sharing or other desktop sharing tools, which is fairly intensive. So i know that the setting works, whether I will use it is a different question. If I do try to optimize, I’ll also refer to this blog post as well. It goes a little deeper into other settings that can be adjusted.