6.4 Optimizing floating license checkout times
You can optimize checkout times by using the
ARMLMD_LICENSE_FILE environment variable to point to your floating license server.
When using a floating license server or servers, each time a client computer
starts one of the ARM development tool executables, a license checkout request is sent
across the network to the floating license server to obtain a license, and similarly when
the license is checked back in. There are a number of ways of configuring a client machine
to check out a floating license from a floating license server and it is worth ensuring that
your system is configured in such a way that the time taken for these checkout requests is
minimized. These are:
ARMLMD_LICENSE_FILE environment variable to point to your
floating license server or servers. This environment variable is used first by the ARM
license utilities, so it is preferable to use
LM_LICENSE_FILE, the generic FlexNet environment
port@server rather than
pointing it to a local copy of the license file. This removes the delay incurred by the
tools having to process the local copy of the license file to find out the name of the
floating license server.
You can also use this variable to specify multiple locations. You can
use a list separated by semi-colons on Windows, or colons on Unix/Linux. Each location
is checked in turn until a valid license is found, so ensure that the fastest or most
frequently used license servers are listed first.
Check for network problems. If everything is working normally, a license is granted
in about the same time it takes to ping the server
where the license resides.
If the checkout takes a long time the following suggestions might help:
- The domain name server might take along time to resolve the server name to an IP address. In this case try substituting the server IP address instead of the name where it appears in the license search paths.
- Check the physical networking connection between the license server relative to the client computers. License checkouts directly increase in time the further away the license server is. Co-locate the server close to the clients for best performance.
- Check the number of routers and switches between the license server and the client
computers. Each network hop adds some delay to packet processing. The
traceroute utility can provide an indication of the network
topology and the delay introduced at each stage. Change your network topology to
- Check the load on the license servers. A highly loaded license sever can slow down processing of license requests. In this case, migrate other processes off of your license server computer or move your license server to a faster computer.
Check for server problems, particularly if you have set up the
ARMLMD_LICENSE_FILE environment variable to point to multiple
servers. You might find it helpful to look through the server log.
If any of the license search paths point to a server which is no longer running the
license management software, there will be a delay while FlexNet waits for the license
request to time out before moving onto the next location in the search path.
Ensure that there are no spurious entries here that might cause such a delay and that
all referenced servers are running.
To temporarily work around this problem, you can modify the order in which the servers
appear in the
ARMLMD_LICENSE_FILE environment variable.
Set the environment variable
TCP_NODELAY to 1.
This sometimes improves FlexNet floating license server system performance when
processing license requests. You have to experiment to confirm that setting this option
Setting this environment variable might cause an increase in network traffic.
- The license server processes license files in the order top to bottom. Order the license features in this file so that the most frequently used licenses are at the top.
On Windows, the length of ARMLMD_LICENSE_FILE must not be more than