So, How many licenses can a license server serve, you ask?
This question “how many licenses can a license server serve” has come up since the beginning of time (or at least since 1988). The answer is, of course, “it depends”.
What does it depend on? Well, for license managers like RLM or FLEXlm (FLEXnet publisher), which use TCP/IP connections for clients, it depends on the configuration of the license server’s OS. The typical answer is somewhere between 6,000 and 15,000. That is the answer we have given since 1988, and it hasn’t changed much. This rough sizing has worked well for the past 28 years, when license servers were deployed on-premesis and for larger customers, licenses were split between multiple server instances. This architecture does not work well when an ISV wants to serve licenses for all their customers in a cloud-based license server.
To support cloud-based license servers, in RLM v9.0 (Dec, 2010) we introduced support for license server “farms”, to allow multiple copies of a license server to run on a single machine. These license server farms allow the number of clients to scale with the number of license server processes. Also, in RLM v10.0 (Jan, 2013), we introduced support for “disconnected clients”. While this still uses TCP/IP, the client does not keep the connection to the license server open for the life of the license. Our tests show that a server can support an order of magnitude more disconnected clients than “traditional” clients. So 100,000 disconnected clients per server is a good rule-of-thumb.
Of course, there is also the question of the relationship between the number of licenses installed on the license server, and the number of simultaneous clients using those licenses. There can be far more licenses installed on the server if the actual usage is a low percentage.
All of this came into focus for us recently during a support interaction with one of our customers. This customer was hosting a license server for all of their customers; this license server has over 220,000 licenses in over 13,000 distinct “license pools” (representing somewere between 6,000 and 10,000 individual customers). The point of telling you this is twofold: first, we would never recommend configuring a single instance of a license server this way, and second, that it actually works, in production, to serve this many licenses for this many clients.
What would we recommend? Since RLM supports “license server farms” to scale the number of clients, we would recommend putting no more than 1000-2000 distinct customers on an individual license server, and running multiple copies of the license server on the server machine. So in this case, we would recommend 7-14 separate license servers, and adding more servers as the number of customers grows. And we would also recommend using disconnected operation so that even if the number of concurrent clients approaches the license limit on the server the number of clients will not get too high.
But at the end of the day, even this heavily-loaded server continues to operate in production for our customer.