What-If Simulator Results – Performance Improvement
The previous post discussed the “Why and How” to Rightsize software license inventory at any company. This post will discuss the results obtained using a Software License What-If Simulator that analyzes transaction history for a modeling software (check-in/check-out/denials). We will focus on evaluating performance metrics when the license counts are varied using different Timeout and Max Sessions constraints.
The What-If simulator uses data exported from any software usage reporting/analytics system. It can perform different types of analysis described below:
The What-If Simulator supports the following primary use cases:
- Predict performance metrics for a varying number of licenses, with the ability to add timeout and maximum permissible concurrent sessions constraints.
- Predict performance metrics for varying number of licenses with timeout and maximum concurrent sessions constraints for increased/reduced users.
- Use thresholds to define User Grouping based on 2 metrics – Average Session Length, and Total Usage – that will create 3 usage groups for LOW, MEDIUM, and HIGH users. The simulator will also export these user group lists
- Use profile distribution of increased/reduced users from LOW, MEDIUM and HIGH usage groups
The current post will discuss results obtained from Use Case 1 and how these results can be applied to maximize the usage of a particular software.
Results and Discussion
The following table shows the results of the Nominal Analysis – Metrics extracted by the Simulator from historical usage data provided by the user. This allows comparison of data with what is reported by the software usage reporting system.
This data set shows a maximum peak of 358 implying there are 358 licenses for this software. The nominal denials probability is 16.45% which means there are 16.45 denials for every 100 check-out requests. The data set has about 300000 usage records including successful check-outs and denials. There are about 0.36 licenses per user.
What-If Analysis Simulations Setup
The simulator allows for setting up of multiple What-If simulations like shown below. Timeout and Max Concurrent Sessions constraints can be specified. The value 0 implies no constraint is applied. The license count sweep for any simulation starts with the From value using a step size specified in the Step value. If the To value is 0, simulation will end when the number of denials becomes 0.
Performance Metrics for varying License Counts
Following graphs show Denials Probability %, Sustained Peak %, Capacity Utilization % and Waiting Time (hrs.) metrics predictions for different license counts. No timeout or max sessions count constraints were set.
An increase in licenses will reduce denials probability, reduce waiting time for a license (a good thing), but also reduce capacity utilization and Sustained Peaks %. If for example, denials probability of 10% is considered tolerable, the administrator could add around 39 licenses as suggested by the chart.
The table shows the comparison of a few key metrics as predicted by the What-If Simulator if 39 licenses were added to the current count of 357. One can see that the choice of the license count can be driven by picking targets for different performance metrics.
Performance Metrics for varying Timeout Constraints
The following charts show for each performance metric, the effect of installing a Timeout value. This is not always possible or feasible unless the application provides a Timeout function and the license manager supports an Idle Session Timeout with license harvesting.
When it is feasible to install an idle sessions timeout with the ability to harvest a license to make it available to someone else, one can expect to see a reduction in denials probability, and wait times.
The table shows the effect of installing Idle Timeouts when feasible. Ideally, for interactive software, it will be beneficial to limit the maximum session length to 8 hours which is typical of a work day.
Performance Metrics for varying Maximum Concurrent Sessions Constraints
The following charts show the effect of limiting the maximum number of concurrent sessions a user could be allowed to invoke for different performance metrics. This is feasible to do with a launching script that imposes such a constraint. Limiting maximum number of concurrent sessions is a feasible strategy only if the software is not User-Host levelled. If the software is NOT User-Host leveled, every instance of the software draws a license.
The What-If analysis module fills a critical gap to help tune a current installation using time-outs or maximum allowed concurrent sessions, or to find the most appropriate license count to optimally support current usage. It is not really possible to guess performance outcomes that change by license counts and these constraints.
Extending Use Cases for Performance Tuning
Some license management systems allow for creation of user groups and allocating license counts to each group. The simulation system could be used to develop What-If scenarios for different user grouping options in order to tune the group content. The license manager emulator will need to support group-usage scenario in order to allow/deny license requests based on the user’s assigned group and licenses available at that time for that group.
The next post will focus on using the What-If simulator for forecasting and planning activities for the following year.