List of the Standard Performance counters for Citrix VDI and WVD Monitoring with Description

In any VDI environment, monitoring the performance of the overall environment is crucial to making sure all components are available and performing effectively to ensure users have a high-quality experience. There are number of tools available in the market that will provide Monitoring capabilities. Different components within the overall solution require monitoring of unique metrics with appropriately set thresholds. The metrics and thresholds presented are based on real-world experience but may not apply to all environments. Organizations will need to perform their own baselining, validity testing, and validation before implementing within a production environment. Please go through the description of the perfmon. counters because it will help you to understand what you are actually configuring in your monitoring tool.


Photo Credit: Pexels.com

Here is a list of the performance counters which should be used for the monitoring of the VDI’s.

Metric Description Warning (Yellow) Critical (Red) Troubleshooting/Remediation
Processor – % Processor Time
% Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the duration of the idle thread is active in the sample interval, and subtracting that time from interval duration. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval. It is calculated by monitoring the time that the service is inactive and subtracting that value from 100%.
80% for 15 minutes
95% for 15 minutes
Identify the processes/services consuming processor time using Task Manager or Resource Monitor.

If all processes/services work within normal parameters and the level of CPU consumption is an expected behavior it should be considered to add additional CPU resources to this system in the future.

If a process/service can be identified which works outside normal parameters, the process should be killed. Please note that killing a process can cause unsaved data to be lost.

System – Processor Queue Length
Processor queue length is the number of threads in the processor queue. Unlike the disk counters, this counter shows ready threads only, not threads that are running. There is a single queue for processor time even on computers with multiple processors. Therefore, if a computer has multiple processors, you need to divide this value by the number of processors servicing the workload. A sustained processor queue of less than ten threads per processor is normally acceptable, dependent of the workload.
5 (per core) for 5 minutes

or

6 (per core) for 15 minutes

10 (per Core) for 10 minutes

or

12 (per core) for 30 minutes

A long CPU queue is a clear symptom of a CPU bottleneck. Please follow the steps outlined for counter “Processor – % Processor Time”.
Memory – Available Bytes
Available memory indicates the amount of memory that is left after nonpaged pool allocations, paged pool allocations, process’ working sets, and the file system cache have all taken their piece.
<30% of total RAM

or

20% of physical memory over 6 minutes

<15% of total RAM

or

5% of physical memory over 6 minutes

Identify the processes/services consuming memory using Task Manager or Resource Monitor.

If all processes/services work within normal parameters and the level of memory consumption is an expected behavior it should be considered to add additional memory to this system in the future.

If a process/service can be identified which works outside normal parameters, the process should be killed. Please note that killing a process can cause unsaved data to be lost.

Memory – Pages/sec
Pages/sec is the rate at which pages are read from or written to disk to resolve hard page faults.
>10
>20
A high value reported for this counter typically indicates a memory bottleneck, except if “Memory – Available Bytes” reports a high value at the same time. In this case most likely an application is sequentially reading a file from memory. Please refer to Microsoft Knowledge Base article KB139609 – High Number of Pages/Sec Not Necessarily Low Memory for further information.
Paging File – %Usage
This is the percentage amount of the Page File instance in use.
>40%

or

80% over 60 minutes

>70%

or

95% over 60 minutes

Review this value in conjunction with “Memory – Available Bytes” and “Memory – Pages/sec” to understand paging activity on the affected system.
LogicalDisk/PhysicalDisk – % Free Space
% Free Space is the percentage of total usable space on the selected logical disk drive that is free.
<20% of physical disk

or

20% reported after 2 minutes

<10% of physical disk

or

15% reported after 1 minute

Identify which files or folders consume disk space and delete obsolete files if possible. In case no files can be deleted, consider increasing the size of the affected partition or add additional disks.
LogicalDisk/PhysicalDisk – % Disk Time
% Disk Time marks how busy the disk is.
>70% consistently

or

90% over 15 minutes (_Total)

>90% consistently

or

95% over 15 minutes (_Total)

Identify the processes / services consuming disk time using Task Manager or Resource Monitor.

If all processes/services work within normal parameters and the level of disk consumption is an expected behavior it should be considered to move the affected partition to a more capable disk subsystem in the future.

If a process/service can be identified which works outside normal parameters, the process should be killed. Please note that killing a process can cause unsaved data to be lost.

LogicalDisk/PhysicalDisk – Current Disk Queue Length
Current disk queue length provides a primary measure of disk congestion. It is an indication of the number of transactions that are waiting to be processed.
>=1 (per spindle) consistently

or

3 over 15 minutes (_Total)

>=2 (per spindle) consistently

or

10 over 30 minutes (_Total)

A long disk queue length typically indicated a disk performance bottleneck. This can be caused by either processes/services causing a high number of I/Os or a shortage of physical memory. Please follow the steps outlined for counter “LogicalDisk/PhysicalDisk – % Disk Time” and counter “Memory – Available Bytes”
LogicalDisk/PhysicalDisk – Avg. Disk Sec/Read

– Avg. Disk Sec/Write

– Avg. Disk Sec/Transfer

The Average Disk Second counters show the average time in seconds of a read/write/transfer from or to a disk.
>=15ms consistently
>=20ms consistently
High disk read or write latency indicates a disk performance bottleneck. Systems affected will become slow, unresponsive and application or services may fail. Please follow the steps outlined for counter “LogicalDisk/PhysicalDisk – % Disk Time”
Network Interface – Bytes Total/sec
Bytes Total/sec shows the rate at which the network adaptor is processing data bytes. This counter includes all application and file data, in addition to protocol information, such as packet headers.
< 8 MB/s for 100 Mbit/s adaptor

<80 MB/s for 1000 Mbit/s adaptor

or

60% of NIC speed inbound and outbound traffic for 1 min.

70% of NIC speed inbound and outbound traffic for 1 min.
Identify the processes / services consuming network using Task Manager or Resource Monitor.

If all processes/services work within normal parameters and the level of bandwidth consumption is an expected behavior it should be considered to move the respective process/service to a dedicated NIC (or team of NICs).

If a process/service can be identified which works outside normal parameters, the process should be killed. Please note that killing a process can cause unsaved data to be lost.

Table: List of the VDI Performance Counters with description and threshold for the Pro-Active Alerting.

Besides the above list, it’s also recommended to use the Citrix Connection Quality Indicator. This is available as free download from the Citrix Website here.

The CQI launches on session startup and continues to run for the life of the session. It notifies the user of changes to network performance and status. This will show the Network issues related to users connection and helps in troubleshooting, as you can see below.

That’s all for today, You have a wonderful day ahead. I will bring more posts on Citrix Design in the coming days.