XenMobile: Tuning

Xenmobile

The performance and stability of XenMobile operations involves many settings across XenMobile and depends on your NetScaler and SQL Server database configuration.

The following server properties globally apply to operations, users, and devices across an entire XenMobile instance. Be aware that a change to some server properties requires a restart of each XenMobile server node. XenMobile notifies you when a restart is required.

Note the following equation in a clustered configuration. Your c3p0 connection multiplied by the number of nodes equals your actual maximum number of connections that XenMobile can open to the SQL Server database.

In clustered and non-clustered configuration, setting the value too high with an undersized SQL Server can cause resource issues on the SQL side during peak load. Setting the value too low means you might not be able to take advantage of the SQL resources available.

Other Server Optimizations

Custom Keys

Optimizing Deployment Scheduling for Android Devices

You can schedule deployments for Android devices using the Google Firebase Cloud Messaging (FCM, previously named Google Cloud Messaging) or XenMobile settings.

If using FCM to schedule deployments

Enabling FCM for your XenMobile environment allows for near real-time notifications to Android devices, similar to APNs for iOS devices. With FCM configured, when XenMobile needs to connect to a device for a policy update, selective wipe, and so on, the XenMobile server sends a notification message to the FCM server to forward the request to the client device. After the device receives the notification from FCM, the device connects back to XenMobile for further instructions. Keep in mind that this method relies on third-party servers (Google) and therefore is subject to service interruptions outside the control of your IT department or Citrix Support.

For information on how to register with the FCM service, refer to XenMobile and Firebase Cloud Messaging (FCM) Configuration.

If using FCM for Android, be aware of the following XenMobile server properties. The properties still use the prior acronym for Google Cloud Messaging, GCM.

  • GCM API Key: The key created in the Google Developers Console.
  • GCM Sender ID: The Project Number in the Google Developers Console.
  • GCM Registration ID TTL: The delay, in days, before renewing the device FCM registration ID. Defaults to 10.
  • GCM Heartbeat Interval: Defaults to 6 hours.

If using XenMobile settings to schedule deployments

To schedule deployments to Android devices, use these XenMobile settings:

  • Set the Connection Scheduling Policy (a XenMobile device policy) to Always, which keeps the connection alive permanently. This enables you to deploy policies to delivery groups immediately. The open connection also enables the background services defined in the server properties Background Deployment and Background Hardware Inventory to occur per those property settings.
  • Select the Deployment Schedule option Deploy for always-on connection in each policy deployed to the device.
Note
For Android devices, setting the Deployment condition to Only when previous deployment has failed helps with device usage, because some devices overwrite the policy and some devices reset the policy. If a device resets the policy, XenMobile might prompt users for credentials every time a policy that requires authentication is re-deployed. Enabling this feature also helps with server load and prevents the success reported from bouncing between failed and success when XenMobile pushes the policy every time the device connects.