Category Archives: Uncategorized

Optimize VDI: Windows 10 Scheduled Tasks (Original, Anniversary and Creator Updates)


This is a multi-part blog series focused on optimizing Windows 10 VDI

As we saw in previous blogs, Microsoft added new default apps and services into the base operating system of the Windows 10 Build 1703 (Creator Update). These updates will have an impact on the user experience, especially in a VDI implementation.

Scheduled Tasks

Many of the new capabilities within the latest builds of Windows 10 also implements new scheduled tasks. Although the tasks do not run continuously, they will impact density when executing and many are irrelevant in a non-persistent VDI environment.

  • Build 1507: 130 Tasks
  • Build 1607: 166 Tasks
  • Build 1703: 165 Tasks

History has shown that optimizing Windows scheduled tasks can improve logon time and server density. It is recommended to review the list of scheduled tasks and disable those that are not necessary for the users.

To see a list of Windows services, run the following PowerShell command:
Get-ScheduledTasks

Color Code:

  • Green: Customer experience program tasks
  • Orange: Maintenance tasks
  • Blue: Tasks for applications
  • Purple: General system tasks
  • Red: Safety and security tasks

Continue reading Optimize VDI: Windows 10 Scheduled Tasks (Original, Anniversary and Creator Updates)

Advertisements

Optimize VDI: Windows 10 Default Apps (Original, Anniversary and Creator Updates)


This is a multi-part blog series focused on optimizing Windows 10 VDI

With the release of Windows 10 Build 1703 (Creator Update), Microsoft added new capabilities into the base operating system that will have an impact on the user experience in a VDI implementation.

Default Apps

Microsoft expanded the list of default applications that come pre-installed within the base OS.

With each release, the number of default apps increased.

  • Build 1507: 24 Apps
  • Build 1607: 26 Apps
  • Build 1703: 31 Apps

As shown in previous tests, leaving these apps part of the base operating system directly impact user logon time and overall system density. It is generally recommended to review the list of apps and uninstall those that are not necessary for the users.

To see a list of default Windows apps, run the following PowerShell command:
Get-ProvisionedAppXPackage -Online|Select DisplayName

Color Code:

  • Green: Remove
  • Orange: Consider removing
  • Red: Keep
  • Black: App does not exist on build

Continue reading Optimize VDI: Windows 10 Default Apps (Original, Anniversary and Creator Updates)

XenServer PVS Accelerator Sizing – Part 2


As you might have read, I recently ran a few XenServer PVS Accelerator tests to determine a starting point for the cache size.  This initial investigation looked at Windows 10 and Windows 2012R2 for boot and logon operations.

Looking back, I determined that I want to include three additional items

  1. Impact of a larger cache size – Increase from 2GB to 4GB RAM cache
  2. Impact of applications
  3. Impact of Windows 2016

Before I get into the results, let me explain the graphs.

  • The blue, green and orange line denotes boot, logon and steady state operations. The first time those colors appear depicts the first VM; the second time the colors appear depicts the second VM. These colors are linked to the axis on the right showing percent of cache used.
  • The solid red area graph depicts the amount of network traffic sent from the Provisioning Services server to the host.  The line should initially be large and then diminish as the cache is used. It is linked to the left axis with bytes per second.

With that understanding out of the way, let’s look at the results.

Continue reading XenServer PVS Accelerator Sizing – Part 2

Windows Server 2016 Optimizations for Citrix XenApp


When it comes to operating system optimization, I have two sides battling with each other. Although optimizing does improve single server scalability, I believe the more you mess with the OS the greater your chances are that you will break something.

Default Apps

Unlike Windows 10, which had numerous default apps that increased user logon time, Windows Server 2016 is free from such additions.

Services

Many of the services we disabled in Windows 10 are already configured as manual startup in Windows 2016.  Looking deeper, it would appear that many of these services are either started based on a request by an application or based on a scheduled task.If a manual startup service is disabled, then any application or system component that tries to interact with the service will fail.  This will result in application/system issues, support calls and long troubleshooting times.Based on that , the only service that you think about disabling is:

Continue reading Windows Server 2016 Optimizations for Citrix XenApp

XenServer PVS Accelerator Cache Sizing


How large should we make our PVS Accelerator cache? Too large and we waste resources. Too small and we lose the performance.

Let’s take a step back and recall our best practice for sizing the RAM on Provisioning Services.  We would typically say allocate 2GB of RAM for each vDisk image the server provides.  This simple recommendation gives the PVS server enough RAM to cache portions of the image in Windows system cache, which reduces local read IO. So for a PVS server delivering

  • 1 image:  we would allocate 2GB of RAM (plus 4GB more for the PVS server itself)
  • 2 images:  we would allocate 4GB of RAM (plus 4GB more for the PVS server itself)
  • 4 images:  we would allocate 8GB of RAM (plus 4GB more for the PVS server itself)

Easy.

Let’s now focus on the XenServer portion of PVS Accelerator. If we use RAM as our PVS Accelerator cache, how many GB should we allocate?

Continue reading XenServer PVS Accelerator Cache Sizing

Monitoring PVS Accelerator


I love data. I like seeing numbers and graphs. I like to see if something is having an impact.

I like when new capabilities provides us with the means to monitor because this data gives me reassurance that the feature has an impact instead of me simply believing it does.

Let’s look at XenServer 7.1 and Provisioning Services Accelerator. I was able to show that

  1. PVS Accelerator reduced VM boot times
  2. PVS Accelerator reduced user logon times

But I didn’t have any details beyond what I was able to gather from a stopwatch.

That was until I starting poking around XenCenter. I was thrilled to see a set of metrics specific to PVS Accelerator

Continue reading Monitoring PVS Accelerator

How does Workspace Environment Management Improve Windows Logon Time


I’ve been able to experience the results of implementing Workspace Environment Management into a Citrix XenApp and XenDesktop environment.  I was easily able to obtain at least a 50% reduction in logon duration.

I understand the why.

I want to now understand the how.

Let’s first examine the Windows logon process.

Continue reading How does Workspace Environment Management Improve Windows Logon Time