Measure Citrix PVS Server performance – perfmon template

In previous post I show how to collect performance counters using Performance Monitor (perfmon) tool. This time I will show you, which counters are worth to measure on Citrix Provisioning Services server.

You can download XML template file right here.

CPU & System:

\Processor(_Total)\% C1 Time
\Processor(_Total)\% C2 Time
\Processor(_Total)\% C3 Time
\Processor(_Total)\% DPC Time
\Processor(_Total)\% Idle Time
\Processor(_Total)\% Interrupt Time
\Processor(_Total)\% Privileged Time
\Processor(_Total)\% Processor Time
\Processor(_Total)\% User Time
\Processor(_Total)\DPC Rate
\Processor(_Total)\DPCs Queued/sec
\Processor Information(_Total)\% DPC Time
\Processor Information(_Total)\% Interrupt Time
\Processor Information(_Total)\% Privileged Time
\Processor Information(_Total)\% Processor Time
\Processor Information(_Total)\% User Time
\Server\Pool Nonpaged Failures
\Server\Pool Paged Failures
\System\Processes
\System\Processor Queue Length
\System\System Calls/sec
\System\Threads
\System\Context Switches/sec

Memory:

\Memory\% Committed Bytes In Use
\Memory\Available MBytes
\Memory\Cache Bytes
\Memory\Commit Limit
\Memory\Committed Bytes
\Memory\Free & Zero Page List Bytes
\Memory\Free System Page Table Entries
\Memory\Long-Term Average Standby Cache Lifetime (s)
\Memory\Page Faults/sec
\Memory\Pages Input/sec
\Memory\Pages Output/sec
\Memory\Pages/sec
\Memory\Pool Nonpaged Bytes
\Memory\Pool Paged Bytes
\Memory\System Cache Resident Bytes
\Memory\Transition Pages RePurposed/sec
\Cache\Dirty Pages
\Cache\Lazy Write Flushes/sec
\Paging File(*)\% Usage

Logical disk:

\LogicalDisk(*)\% Disk Read Time
\LogicalDisk(*)\% Disk Write Time
\LogicalDisk(*)\% Idle Time
\LogicalDisk(*)\Avg. Disk Bytes/Read
\LogicalDisk(*)\Avg. Disk Bytes/Transfer
\LogicalDisk(*)\Avg. Disk Bytes/Write
\LogicalDisk(*)\Avg. Disk Queue Length
\LogicalDisk(*)\Avg. Disk Read Queue Length
\LogicalDisk(*)\Avg. Disk sec/Read
\LogicalDisk(*)\Avg. Disk sec/Transfer
\LogicalDisk(*)\Avg. Disk sec/Write
\LogicalDisk(*)\Avg. Disk Write Queue Length
\LogicalDisk(*)\Current Disk Queue Length
\LogicalDisk(*)\Disk Read Bytes/sec
\LogicalDisk(*)\Disk Reads/sec
\LogicalDisk(*)\Disk Transfers/sec
\LogicalDisk(*)\Disk Write Bytes/sec
\LogicalDisk(*)\Disk Writes/sec
\LogicalDisk(*)\Split IO/Sec
\LogicalDisk(*)\Free Megabytes

Physical disk:

\PhysicalDisk(*)\% Disk Read Time
\PhysicalDisk(*)\% Disk Write Time
\PhysicalDisk(*)\% Idle Time
\PhysicalDisk(*)\Avg. Disk Bytes/Read
\PhysicalDisk(*)\Avg. Disk Bytes/Transfer
\PhysicalDisk(*)\Avg. Disk Bytes/Write
\PhysicalDisk(*)\Avg. Disk Queue Length
\PhysicalDisk(*)\Avg. Disk Read Queue Length
\PhysicalDisk(*)\Avg. Disk sec/Read
\PhysicalDisk(*)\Avg. Disk sec/Transfer
\PhysicalDisk(*)\Avg. Disk sec/Write
\PhysicalDisk(*)\Current Disk Queue Length
\PhysicalDisk(*)\Disk Read Bytes/sec
\PhysicalDisk(*)\Disk Reads/sec
\PhysicalDisk(*)\Disk Transfers/sec
\PhysicalDisk(*)\Disk Write Bytes/sec
\PhysicalDisk(*)\Disk Writes/sec
\PhysicalDisk(*)\Split IO/Sec

Network adapters:

\Network Adapter(*)\Current Bandwidth
\Network Interface(*)\Bytes Received/sec
\Network Interface(*)\Bytes Sent/sec
\Network Interface(*)\Bytes Total/sec
\Network Interface(*)\Offloaded Connections
\Network Interface(*)\Output Queue Length
\TCPv4\Connection Failures

and last but not least – processes (in this case we are interesting in PVS processes – streaming,  soap, PXE, etc.):

\Process(_Total)\Handle Count
\Process(_Total)\Private Bytes
\Process(_Total)\Thread Count
\Process(_Total)\Working Set
\Process(BNPXE)\% Privileged Time
\Process(BNTFTP)\% Privileged Time
\Process(SoapServer)\% Privileged Time
\Process(StreamProcess)\% Privileged Time
\Process(StreamService)\% Privileged Time
\Process(BNPXE)\% Processor Time
\Process(BNTFTP)\% Processor Time
\Process(SoapServer)\% Processor Time
\Process(StreamProcess)\% Processor Time
\Process(StreamService)\% Processor Time
\Process(BNPXE)\% User Time
\Process(BNTFTP)\% User Time
\Process(SoapServer)\% User Time
\Process(StreamProcess)\% User Time
\Process(StreamService)\% User Time
\Process(BNPXE)\IO Data Bytes/sec
\Process(BNTFTP)\IO Data Bytes/sec
\Process(SoapServer)\IO Data Bytes/sec
\Process(StreamProcess)\IO Data Bytes/sec
\Process(StreamService)\IO Data Bytes/sec
\Process(BNPXE)\Pool Nonpaged Bytes
\Process(BNTFTP)\Pool Nonpaged Bytes
\Process(SoapServer)\Pool Nonpaged Bytes
\Process(StreamProcess)\Pool Nonpaged Bytes
\Process(StreamService)\Pool Nonpaged Bytes
\Process(BNPXE)\Pool Paged Bytes
\Process(BNTFTP)\Pool Paged Bytes
\Process(SoapServer)\Pool Paged Bytes
\Process(StreamProcess)\Pool Paged Bytes
\Process(StreamService)\Pool Paged Bytes
\Process(BNPXE)\Thread Count
\Process(BNTFTP)\Thread Count
\Process(SoapServer)\Thread Count
\Process(StreamProcess)\Thread Count
\Process(StreamService)\Thread Count
\Process(BNPXE)\Virtual Bytes
\Process(BNTFTP)\Virtual Bytes
\Process(SoapServer)\Virtual Bytes
\Process(StreamProcess)\Virtual Bytes
\Process(StreamService)\Virtual Bytes
\Process(BNPXE)\Virtual Bytes Peak
\Process(BNTFTP)\Virtual Bytes Peak
\Process(SoapServer)\Virtual Bytes Peak
\Process(StreamProcess)\Virtual Bytes Peak
\Process(StreamService)\Virtual Bytes Peak
\Process(BNPXE)\Working Set
\Process(BNTFTP)\Working Set
\Process(SoapServer)\Working Set
\Process(StreamProcess)\Working Set
\Process(StreamService)\Working Set
\Process(BNPXE)\Working Set - Private
\Process(BNTFTP)\Working Set - Private
\Process(SoapServer)\Working Set - Private
\Process(StreamProcess)\Working Set - Private
\Process(StreamService)\Working Set - Private
\Process(BNPXE)\Working Set Peak
\Process(BNTFTP)\Working Set Peak
\Process(SoapServer)\Working Set Peak
\Process(StreamProcess)\Working Set Peak
\Process(StreamService)\Working Set Peak

 

Post author

There are 5 Comments

  1. Posted by JamieT Reply

    Any articles on explaining what we need to be looking for that is not running under the normal parameters.

    • Posted by jarek Reply

      Hello JamieT,
      sorry for late answer, but I was offline during vacation.
      Could you explain, what do you mean writing “is not running under the normal parameters”. Maybe I can help you if you tell me what do you want to measure.

  2. Posted by Google Reply

    Wow that was unusual. I just wrote an very long comment but after I clicked submit my comment didn’t show up.

    Grrrr… well I’m not writing all that over again. Anyways, just wanted to say superb blog!

  3. Posted by Aaron Reply

    Great Template
    Do you have a template for XenApp 6.5 and/or 7.6 PVS Clients?

    • Posted by jarek Reply

      Aaron,

      yes I have. RIght now I’m out of office, but during next week I will try to provide you some information about those counters. I will post it on my blog and let you know by this comment. Thank you for reading.

Leave a Reply