Citrix Applications Test
This test reports statistics pertaining to the different applications executing on a Citrix XenApp server and their usage by Citrix clients.
Note:
This test will report metrics only if the XenApp server being monitored uses the .Net framework v3.5 (or above).
Target of the test : Citrix XenApp
Agent deploying the test : An internal agent
Outputs of the test : One set of results for each application that is being monitored.
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Instances currently running: |
Number of instances of the published application currently executing on this Citrix XenApp server. |
Number |
This value indicates if too many or too few instances corresponding to an application are executing on the host. Use the Detailed diagnosis of this measure to identify all the users executing this application and comparing the users will help you to identify which user is utilizing the maximum memory, CPU etc |
CPU usage: |
Indicates the percentage of CPU used by the published application. |
Percent |
A very high value could indicate that the specified application is consuming excessive CPU resources. |
Memory usage: |
This value represents the ratio of the resident set size of the memory utilized by the application to the physical memory of the host system, expressed as a percentage. |
Percent |
A sudden increase in memory utilization for an application may be indicative of memory leaks in the application. |
Handle count: |
Indicates the number of handles opened by this application. |
Number |
An increasing trend in this measure is indicative of a memory leak in the application. |
Number of threads: |
Indicates the number of threads that are used by the application. |
Number |
|
I/O data rate: |
Indicates the rate at which this application is reading and writing bytes in I/O operations. |
KBytes/Sec |
This value counts all I/O activity generated by each instance of the application and includes file, network and device I/Os. |
I/O data operations: |
Indicates the rate at which this application is issuing read and write data to file, network and device I/O operations. |
Operations/Sec |
|
I/O read data rate: |
Indicates the rate at which this application is reading data from file, network and device I/O operations. |
KBytes/Sec |
|
I/O write data rate: |
Indicates the rate at which this application is writing data to file, network and device I/O operations. |
KBytes/Sec |
|
Page fault rate: |
Indicates the total rate at which page faults are occurring for the |
Faults/Sec |
This measure is a good indicator of the load on the application. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This may not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another application with whom the page is shared. |
Working set memory |
Indicates the current size of the working set of this application. |
MB |
The Working Set is the set of memory pages touched recently by the threads in a process/application. If free memory in the server is above a threshold, pages are left in the Working Set of an application even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory. Comparing the working set across applications indicates which application is taking up excessive memory. |
Input delay for processes - max |
Indicates the maximum amount of time lag detected between the user's input through any input device (e.g., mouse, keyboard) and the time at which this application detected the input. |
Seconds |
Poor application performance is one of the most difficult problems to diagnose by the administrators. Traditionally, diagnosis was done by collecting CPU, memory, disk I/O and a few other metrics. The data collected from traditional metrics were not sufficient to figure out the root cause of poor performance of the applications since the variations measured by the metrics were large. In virtual environments where multiple users accessed an application from remote at the same time, users faced difficulties in accessing the application whenever there was an increase in the count of users. The more the users are accessing the application, the higher was the CPU usage of the systems in the environment and the higher was the user input delays i.e., the users were forced to wait for a longer duration to interact with the application. The user input delay is measured by how long any user input (such as mouse or keyboard usage) stays in the queue before it is picked up by a process. These two measures capture such user input delays at the application/process level. These insights enable administrators to accurately identify which application/process is responding slowly to user requests. These measures will be reported only on Windows 2019 (and above). Ideally, the values of these measures should be 0 or very low. |
Input delay for processes - avg |
Indicates the average amount of time lag detected between the user's input through any input device (e.g., mouse, keyboard) and the time at which this application detected the input. |
Seconds |
The detailed diagnosis of the Instances currently running measure, if enabled, lists the user sessions that are currently open, the process ids of the processes being executed by each of the users, and the CPU and memory utilization (in %) of each of these processes. Additionally, this detailed diagnosis helps you in identifying the handles that are opened, the thread count, the read/write operations as well as the I/O operations for each application. This information enables the Citrix administrator to identify the processes with a high CPU/memory utilization. In the event of a server overload, the Citrix administrator might decide to terminate these processes (see Figure 1).
Figure 1 : The detailed diagnosis for the Instances currently running measure