VMware Horizon Community
dmuligan
Enthusiast
Enthusiast

Best practises App Volume

Hi,

is there any document with recommendations in the number of appstack to attach to a VM and how to decrease the time it take to logon ?

Thank you.

13 Replies
Lakshman
Champion
Champion

In my opinion (not VMware), the number of appstacks attaching to a VM should not exceed 15. It is a good practice to combine multiple applications into an AppStack to minimize the number of appstacks.

The maximum number of AppStacks that can be attached to a VM depends on the vSphere version (check vSphere configuration maximums).

Smoke14
Hot Shot
Hot Shot

I try to tell my Clients to keep them around 5 AppStacks, that seems to work well with splitting the applications up, by Core, LOB, Dept. and any exceptions to the standard AppStack's.

Mike_A
Reply
0 Kudos
Ray_handels
Virtuoso
Virtuoso

Eventually the maximum amount of appstacks is the number of disks you can add to a machine Smiley Happy. I thought it was about 55 or something like that, not really an ESXi master Smiley Happy.

I believe that official support is up to 20 appstacks due to login constraints and drive letters in Windows that could be used for appstacks.

That being said I do agree with both other posters. Don't go to far with pushing limits because every appstack will take time to be processed. Attaching them to the machine physically (reconfigure part in VSphere) will always be about 3 to 5 seconds no matter how many disks you use. After that it takes about 1 to 2 seconds per appstacks to process and attach it in Windows.

Reply
0 Kudos
danielkrause
Enthusiast
Enthusiast

We have the same issue.

In the user guide you will find many reg settings to increase the logon time.

We don't know how to combinate these keys for better login performance.

HKLM\SYSTEM\CurrentControlSet\services\svservice\Parameters

WaitForFirstVolumeOnly  REG_DWORD

Defined in seconds, only hold logon for the first volume. Once the firstvolume is complete,the rest will behandled in the background,and the logonprocess is allowed to proceed. To wait for all volumes to load before releasing the logon

process set this value to 0.

If undefined, default is 1

VolWaitTimeout   REG_DWORD

Defined in seconds, how long to wait for a volume to be processed before ignoring the volume and proceeding with the logonprocess.

If undefined, default is 180

HKLM\SYSTEM\CurrentControlSet\services\svdriver\Parameters

ReorderTimeOutInSeconds   REG_DWORD

Defined in seconds, how long to wait for all volumes to be attachedand processed based on Order Precedence set from within VMware App Volumes manager

Reply
0 Kudos
Ray_handels
Virtuoso
Virtuoso

WaitForFirstVolumeOnly

This settings means that if you have multiple appstacks it will only wait for the first appstack to be attached and then proceeds to login so it releases the windows logon process. If you have for example 5 appstacks it will attach 1, then, if the rest of the appstacks take to many time to attach will continue with login and attach the other ones at a later time. If you have a writable volume this will always be 1 because it waits for the writable volume and then proceeds with the logon, no matter what.

If you are looking for quick login times I would suggest setting this to 1.

VolWaitTimeout 

If you set the above setting to 0 logon will be stalled until all appstacks are processed. If you have for example 20 appstacks (wouldn;t suggest it but hey) it will wait with logging in until all appstacks are attached and then start the login prcoess, this might take quite some time. If something fails during the processing of the appstack it will wait for the full 180 seconds making logging in a very time consuming task.

I would suggest setting this somewhere between 5 to 10 (just my opinion though). It will then proceed with the logon after X seconds even though not all appstacks are processed. It will do this after the user is logged in. So the user will still get his applications but it could be that these are available just a few seconds after he is logged in completely.

danielkrause
Enthusiast
Enthusiast

Only the key VolWaitTimeout could not change our logon time. About 30-40s for AppVolume + 23s regular logon time

Wi.th the VMware Support we set now the following keys:

VolWaitTimeout = 5

VolDelayLoadTime = 5

WaitForFirstVolumeOnly = 1

Now we have only a 10 seconds delay on startup, what is acceptable, means 33secs for user login.

Reply
0 Kudos
Ray_handels
Virtuoso
Virtuoso

Looking at those settings my guess is you are not using writable volumes right??

Reply
0 Kudos
sbcsolutions
Contributor
Contributor

Generally only create maximum 5-10 Appstacks and 15 appstacks is supported by VMware.

Create a baseline appstack for all common applications and then create needed appstacks in applications silos.

For Horizon environments install agents outside of appstack (Horizon, UEM, AppVolume)

Then have high performance SAN or with SSD disks..

Reply
0 Kudos
Erossman
Enthusiast
Enthusiast

If I set these registry values I got problems with initialising my appstacks.

I can see that the appstacks are mounted but I can see them also as an drive with an drive letter and name "cvapps" under the computer windows next to my C:\ Drive.

So the content of my appstacks is not  correctly loaded and unavailable on my computer. Without these registry settings I have no issues with my appstacks. All Appstack have been new created under version 2.11.

I hadn't these issues with appvolumes 2.10. Can anyone confirm this behavior?

Reply
0 Kudos
sbcsolutions
Contributor
Contributor

Have you enabled hide drive with registry?

App Volumes Documentation Center

2016-09-16_10-02-28.jpg

Reply
0 Kudos
Erossman
Enthusiast
Enthusiast

No, I don't have hide drive enabled. Also I don't use writable volumes.

We use Windows 7 x64 as an OS.

Reply
0 Kudos
Ray_handels
Virtuoso
Virtuoso

It's not a bug, it's a feature Smiley Happy Smiley Happy.

There's an issue with version 2.11 and the way it handles the VolWaitTimeout and VolDelayLoadTime registry keys.

Long story short, don't use it right now in version 2.11. Normally this setting is only applied to make login times shorter. If you look at the svservice log on the agent my guess is you will be seeing something in the lines of " Blocking user logon for x seconds". If your logon times are not that long I would suggest just not using these keys.

Also, DriveLetterSettings's default setting is 3, which means hide all drive letters for appstacks, don't assign a driveletter to the writable volume. And because you are not using writable volumes there is no need for you to change this setting.

Reply
0 Kudos
Erossman
Enthusiast
Enthusiast

Thanks a lot ray_handels for you statement. It's good to know that I am only the only one with this issue!

I have tried a lot to solve this issue, but I would be the best not to use these registry settings. Logon times are not the best (ca. 80sec with 5 appstacks on an floating pool) but also much better than frustrated user which complain that there applications are missing.

Reply
0 Kudos