eG Monitoring
 

Measures reported by CtxCdXDHATest

The Citrix Broker Service is responsible for negotiating session launch requests with ‘workers’. The Broker service communicates with the VDA over a protocol that Citrix refers to as CBP (connection brokering protocol) to validate a worker's readiness to fulfill a session launch request, gather the necessary details (IP address or host name), and send the details back to the StoreFront site to be packaged and delivered as an .ICA launch file that's consumed by the Receiver.

The high availability of this service relies on the availability of the Microsoft SQL server database that is used by the StoreFront site. If network issues or other interruptions prevent delivery controllers from accessing the database, the broker service will fail - as a result, users may not be able to connect to their applications or desktop.

To avoid database failures, administrators often employ SQL server high availability best practices. Also, as a supplement to these best practices, administrators also enable connection leasing. The connection leasing feature enables users to connect and reconnect to their most recently used applications and desktops, even when the Site database is not available.

Although users may have a large number of published resources available, they often use only a few of them regularly. When you enable connection leasing, each Controller caches user connections to those recently used applications and desktops during normal operations (when the database is available).

The leases generated on each Controller are uploaded to the Site database for periodic synchronization to other Controllers on the Site. In addition to leases, each Controller's cache holds application, desktop, icon, and worker information. The lease and related information is stored on each Controller's local disk. If the database becomes unavailable, the Controller enters leased connection mode and “replays” the cached operations when a user attempts to connect or reconnect to a recently used application or desktop from StoreFront.

For the Citrix broker service to be highly available therefore, administrators should:

  • Periodically check the availability of the SQL database to determine whether/not any SQL server high availability best practices are in place and measure their effectiveness;

  • Check the effectiveness of the Connection Leasing feature;

Using what is observed during such checks, administrators can then fine-tune the high availability settings of the SQL database.

This is exactly what the CtxCdXDHATest test helps administrators do! With the help of this test, administrators can run availability checks on the SQL database, and in the process, determine whether/not the SQL high availability best practices have succeeded in keeping the database alive and accessible. Using the test, administrators can also monitor the Connection leasing activity and measure its effectiveness. This way, the test provides useful pointers to administrators on how to make the SQL database and the broker service that depends on it, highly available.

Outputs of the test : One set of results for the Citrix Cloud Connector monitored.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Database_Connected Indicates whether/not the Citrix broker service is able to access its SQL database.   This measure reports the value Yes if the database is connected and No if it is not. The numeric values that correspond to these measure values are as follows:

Measure Value Numeric Value
Yes 1
No 1

Note:

By default, this measure reports the above-mentioned Measure Values to indicate whether/not the Citrix Broker service is connected to the database. However, in the graph of this measure, the same will be represented using the numeric equivalents - 1 and 0 only.

If the database is unavailable, the broker service may not be able to perform critical database transactions; this may adversely impact the user experience with the service and with the broker as a whole.

Database_transactions Indicates the rate at which the database transactions are executed by the Citrix Broker Service. Transactions/Sec  
Database_Avg_Trans_Time Indicates the average time taken by the broker to execute a database transaction from the Citrix Broker Service. Secs Ideally, the value of this measure should be low. A high value indicates that the broker service is taking too much time to execute transactions on the database; this can cause significant delays in connection brokering.
Database_Trans_Errors Indicates the rate at which the database transactions are executed by the Citrix Broker Service. Transactions/Sec A low value is typically desired for this measure. High values may indicate connectivity issues of the XenDesktop Broker service with the XenDesktop database. In case issues are reported, SQL server and network availability needs to be verified.
Register_Avg_Req_Time Indicates the average time taken by the broker to execute a database transaction from the Citrix Broker Service. Secs If the value of this measure increases consistently, it denotes that the registration process is bottlenecked. If the situation is allowed to persist, it can seriously hamper user experience with the cloud service.
Registration_Requests Indicates the number of registration requests received by the Citrix Broker Service from the virtual desktops. Number  
Soft_Registration Indicates the rate at which the virtual desktop agents are hard-registered i.e., forcefully registered with the Citrix Broker Service. Registrations/Sec  
Hard_Registration Indicates the rate at which the virtual desktop agents are hard-registered i.e., forcefully registered with the Citrix Broker Service. Registrations/Sec  
Registration_Rejects Indicates the rate at which the Citrix Broker Service rejects registration requests from virtual desktops. Rejects/Sec  
Expired_Registrations Rate at which virtual desktop registrations with Citrix Broker Service expire, through inactive communication. Registrations/Sec The value 0 is desired for this measure.
Deregistration_Requests Indicates the number of de-registration requests received by the Citrix Broker Service from virtual desktops. Number  
Application_Cache_Writes Indicates the number of applications cached for connection leasing by the Citrix Broker Service. Number For best performance, user connections to regularly used applications, desktops, icons, and machines should be in the cache. However, if the cache does not have adequate space, then very few user connections will be cached - sometimes, many of the regular connections themselves may not be in the cache. In such a situation, if the database becomes unavailable, many application/desktop launches will fail owing to the absence of cached connections.
Shared_Cahce_Writes Indicates the number of shared desktops cached for connection leasing by the Citrix Broker Service. Number
Private_Cache_Writes Indicates the number of private desktops cached for connection leasing by the Citrix Broker Service. Number
Icon_Cache_Writes Indicates the number of icons cached for connection leasing by the Citrix Broker Service. Number
Machine_Cache_Writes Indicates the number of machines cached for connection leasing by the Citrix Broker Service. Number
Success_Leased_Enum Indicates the number of resource enumerations that were successful when the Citrix Broker Service is in connection leasing mode. Number A high value is desired for this measure.
Success_Leased_Launches Indicates the resource launches that were successful when the Citrix Broker Service is in connection leasing mode. Number A high value is desired for this measure.
Failed_Leased_Enum Indicates the number of resource enumerations that failed when the Citrix Broker Service is in connection leasing mode Number Ideally, the value of this measure should be 0.
Failed_Leased_Launches Indicates the number of resource launches that failed when the Citrix Broker Service is in connection leasing mode. Number Ideally, the value of this measure should be 0.
Expired_Launches Indicates the rate at which virtual desktops time out waiting on clients to connect to them, as detected by Citrix Broker Service. Launches/Sec If the value of this measure is abnormally high, you may want to check the Timeout setting for virtual desktops and change it (if need be).
Lease_Sync_Skipped Indicates the number of lease cache synchronization cycles that were skipped as a result of the previous cycle not completing on time. Number The leases generated on each Controller are uploaded to the Site database for periodic synchronization to other Controllers on the Site.

If a non-zero value is reported by this measure, it means that one/more synchronizations have been missed. This in turn implies that outdated lease information is at the disposal of the other controllers on the site. This in turn can cause inconsistencies in connection leasing behavior across the site.
Lease_Uploads Indicates the number of leases uploaded and synchronized across the site for connection leasing by the Citrix Broker Service. Number Ideally, the value of this measure should be high.
Lease_Writes Indicates the number of leases cached for connection leasing by the Citrix Broker Service. Number  
Brokered_sessions Indicates the number of virtual desktop sessions that are brokered by the Citrix Broker Service. Number This is a good indicator of the load handled by the service.
Ping_Requests Indicates the number of ping requests received by the Citrix Broker Service from virtual desktops. Number