Citrix High Availability Service Test

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 Citrix High Availability Service 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.

This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Citrix Cloud Connector as the desired Component type, set Performance as the Test type, choose the test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the test : A Citrix Cloud Connector

Agent deploying the test : An internal agent

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

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port at which the connector listens. By default, this is 443.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Is 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 0

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 average transaction 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 transactions

Indicates the rate at which the database transactions are executed by the Citrix Broker Service.

Transactions/Sec

 

Database transaction errors

Indicates the rate at which the database transactions are failing while the Citrix Broker Service is executing the transactions.

Trans/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.

Registration average request time

Indicates the average time taken to process a virtual desktop registration request in 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 registrations

Indicates the rate at which the virtual desktop agents are soft-registered.

Registrations/Sec

When the virtual desktop agents are soft registered with Citrix Broker Service, the virtual desktop agents can securely communicate with the Citrix Broker Service other, but cannot deliver sessions.

Hard registrations

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.

Therefore, to ensure that the values of these measures remain high - i.e., to ensure that sufficient user connections to applications, desktops, icons, and machines are present in the cache - you need to make sure that the cache is adequately sized.

 

 

 

Shared desktop cache writes

Indicates the number of shared desktops cached for connection leasing by the Citrix Broker Service.

Number

Private desktop 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

Successful leased enumerations

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.

Successful 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 enumerations

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 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