Citrix licensing technical overview
Before you can use your Citrix product, you must install Citrix licensing. Citrix licensing is a system of components that function together. This system includes:
License server. A system that allows licenses to be shared across the network. For more information, see License server.
License files. The files required to license your product. These files are stored on the License Server. For more information, see License files.
Citrix Licensing Manager. The License Server management method. For more information, see Citrix Licensing Manager.
Web Services for Licensing. Enables Studio, Director, and the Licensing Administration PowerShell Snap-in to:
- Communicate with the License Server and manage users.
- Allocate and install licenses.
- Display License Server health, license usage, and other alert messages.
For more information, see Licensing elements and Services.
Licensing operations overview
Check out and Check in
Typically, the first time a user connects to a Citrix product, the product requests a license from the License Server. When the License Server grants a license request, the Citrix product reserves a license for its use. Reserving licenses for this purpose is known as checking out licenses. When the user logs off from the product server, the product returns the license to the License Server. This process is known as checking in licenses. Some Citrix products check out the license when a user connects to the product. The license remains checked out for a predetermined amount of time.
Each time a Citrix product starts, it opens a connection to the License Server by checking out the startup license. The startup license is a Citrix system file that enables Citrix products to maintain a continuous connection to the License Server. For more information, see Startup license.
For example, when a server running Citrix Virtual Desktops requests a license, the product retrieves the License Server name and port number information from the data store. The product then establishes a connection to acquire the licenses.
When configuring the product-side setting for the License Server name, do not use localhost. Though you can use the host name, IP address, or FQDN instead, Citrix recommends that you use the FQDN.
There are three stages of the license checkout process.
A Citrix product goes through a three-step process to check out licenses:
- At startup, a computer running a Citrix product checks out a startup license.
- A client device connects to the product server.
- The product requests a license from the License Server.
Citrix products, such as Citrix Virtual Desktops, stores a replica of the licensing information from the License Server, including the number and type of licenses. If a Citrix product server loses its connection to the License Server, or the License Server does not respond in a timely manner, the product enters a grace period. During the grace period, the product uses its local record of the licenses to continue licensing the product. After communication is re-established between the product and the License Server, the grace period is reset.
This section provides guidance to ensure successful License Server usage by examining the impact of license usage scalability in a Citrix environment. We performed this scalability testing:
Virtual Machine Hardware/Configuration: Intel Xeon E5-2650 v3 @ 2.30 GHz 4 Virtual CPUs 8 GB RAM Windows Server 2016
6.5 and earlier Concurrent:
- 3000 connected Citrix Virtual Apps servers
- 53,000 concurrent licenses
- 50–60 connections per second
Efforts to scale more than 53,000 licenses result in servers going into a grace period. Also, there are issues with WMI and lmstat. We recommend that you maintain 50,000 or fewer concurrent connections per License Server.
- 16 Delivery Controllers
- 70,000 concurrent licenses
- 50–60 checkouts per second
- 16 Delivery Controllers
- 150,000 user/device licenses
- 50/60 checkouts per second
CITRIX.exe is a single threaded process. While it’s serving Concurrent connections, the maximum connection limit is based on the single core processor speed. During peak activity, CITRIX.exe uses 100% of a single core and eventually starts timing out. This usage might cause Citrix products to go into a grace period or errors in the License Server utilities. After the License Server has processed backlog connections, it returns to normal. Monitor the CITRIX.exe processor usage to determine if a faster processor is required. We recommend if you experience issues in high scalability environments, you deploy more License Servers.
User/Device technology is multi-threaded and scales better than Concurrent. During license optimizations, you might see that periods were licensing activity takes 100% of a single core. This usage is normal and doesn’t impact the CITRIX.exe processor usage or functionality. We recommend that you monitor License Server resource usage and add more License Servers to maintain a properly functioning environment.
lmutil, or other inventory actions can negatively impact the License Server performance. We recommend that you minimize these activities. If you require usage data, export the data from the Citrix Licensing Manager. For more information, see Historical Use.
License Server using different product editions
One License Server can contain licenses for multiple editions of a Citrix product. For more information about product editions, see Citrix Products and License Models. The type of license checked out corresponds to the edition that is configured on the product server. A product server is configured to consume a specific edition of a license and checks out that license edition.
For example, ProductServerA is configured to check out Advanced licenses. ProductServerB is configured to check out Premium licenses. LicenseServer1 contains both Advanced and Premium licenses.
- Users who connect to ProductServerA, which is configured to use licenses installed on LicenseServer1 check out Advanced licenses only. After the number of Advanced licenses on LicenseServer1 is exceeded, new requests from ProductServerA users are denied until existing Advanced connection licenses are released.
- Users who connect to ProductServerB, which is configured to use licenses installed on LicenseServer1 check out Premium licenses only. If the number of Premium licenses on LicenseServer1 is exceeded, new requests from ProductServerB users are denied until Premium connection licenses are released.
License checkout times might increase if many product servers that have many users are contacting the same License Server simultaneously. One License Server can accept only 10,000 inbound TCP/IP requests at one time. If you are planning to have more than 10,000 Citrix product servers connecting at the same time, we recommend that you use several License Servers. These product servers can include Citrix Virtual Apps and Desktops, Delivery Controllers, and Appliances.
Scenario 1: Two sites
- SiteA contains product servers configured for the Advanced edition.
- SiteB contains product servers configured for the Premium edition.
- One License Server (shared).
- User1, User2, User3, User4…User5000 connect only to SiteA.
- User5001, User5002, User5003…User10000 connect only to SiteB.
Scenario 2: One site
- The site has two sets of published applications.
- The site is configured as Citrix Virtual Apps and Desktops Premium concurrent and Delivery Groups 2 as Citrix Virtual Apps and Desktops user/device
- One License Server (shared).
- User1, User2, User3, User4…User5000 connect only to the concurrent licenses.
- User5001, User5002, User5003…User10000 connect only to Delivery Group 2 user/device licenses.
The grace period and supplemental grace period are two different features. For more information about the supplemental grace period, see Supplemental grace period.
If product servers lose communication with the License Server, the users and the products are protected by a grace period. The grace period allows the product servers to continue operations as if they were still communicating with the License Server. After the Citrix product checks out a startup license, the product and the License Server exchange heartbeat messages every five minutes. The heartbeat indicates to each that they are still up and running. If the product and the License Server don’t send or receive heartbeats, the product lapses into the licensing grace period and licenses itself through the cached information.
Citrix sets the grace period. It is typically 30 days but can vary depending upon the product. The Windows Event Log, and other in-product messages, indicate if the product has entered the grace period, the number of hours remaining in the grace period. If the grace period runs out, the product stops accepting connections. After communication is re-established between the product and the License Server, the grace period is reset.
The grace period takes place only if the product has successfully communicated with the License Server at least once.
For concurrent licenses, they can connect up to the maximum concurrent licenses installed. For user/device licenses, they have unlimited connections.
Grace period example - two sites, both using the same License Server
- The connection between Site 1 and the License Server goes down causing Site 1 to go into the grace period, continuing operation and making connections.
- When Site 1 reestablishes communication with the License Server, connections are reconciled and no new connections are allowed until they are within normal license limits.
- Site2 is unaffected and operates as normal.
- If the License Server goes down, both sites go into the grace period. Each site allows up to the maximum number of licenses installed. As above, the user/device licenses have no limit.
- New licenses are the licenses you purchased from Citrix within the last 30 days.
- The new licenses section displays the top five recent purchases.
- New licenses are indicated with a green bar and the word (New) in green.
- You can Allocate licenses from the landing page only for new licenses. Select the required license and start the allocation process by clicking Allocate licenses.
Expiring term licenses
- Expiring licenses are term licenses that are expiring within 90 days.
- Licenses expiring within 0 through 30 days are displayed with a red bar. Licenses expiring within 31 through 90 days are displayed with an orange bar.
- The Expires column shows the number of days until the license expiry date.
- The Allocated column shows the allocated quantity and total purchased quantity.
- The expiring licenses section shows the 5 most recent purchases.
Allocate licenses: When you allocate licenses, you apportion purchased licenses by product and License Server so you can split them among multiple environments or use cases. For example, your organization might own 1,000 licenses for the same product. You might want to use 800 in 1 location and 200 in another location. You can allocate 800 licenses to a License Server in the first location today, and allocate the remaining 200 later to a different License Server.
Asset components: Asset components are the license details.
CSV files: The Excel CSV file provides daily usage information, including the number of licenses in overdraft.
Modify licenses: Choosing to modify licenses, returns the license file and allocates it to another License Server.
Return allocations: When you Return licenses, you put the licenses back in the licensing pool. You can then allocate these licenses in any quantity at any time. After you return a license, remove the old license file from the License Server.
Term licenses: Term licenses are purchased for a specified amount of time and have an expiration date.