I have been working with Citrix environments for many years, and the primary aspect of these environments is change. You could add a new software package for thousands of users or refresh your server hardware. Collecting and tracking performance metrics over time helps you to understand how these changes affect your user capacity and user experience. In this post, we'll discuss Concurrent Sessions.
Note: This post assumes you are running Citrix Director (pics are from verSION 7.15 and have access to Microsoft Excel (365 on-prem)
Why Track this Metric
Concurrent Sessions records the number of users that are connected to your environment at any one time. Typically, the highest number for the day is recorded and this will give you insight to your total user capacity and how it changes over time. It's best to track this all the time and note how it fluctuates based on changes you make to your environment. This number will also go up as you add users to your environment.
How To Collect the Data
You can generate this metric using the Session Report out of Director. Login to Director and click on the Trends button. You will already be on the Session Tab and you can select the Delivery Group and Time Period.
In this example, we will select All for the delivery group (thus collecting currency data for your whole environment) and set the time period to Last Month. If we leave the selection as is, it will give us the last 30 days of data from today's date. If we want to capture data for the month of February, then you hit the drop-down next to Ending and select Custom. Then you can click on the calendar field that appears and select the first day of March. This will return data from February 1st to February 29th (due to this being a leap year).
Finally, click the Apply button. The graph will change to show 30 days’ worth of data. Now we export the data by clicking on the Export button. We'll name this file as FebConcur so we can find it easily and export to an CSV File. To get data we can use, the export must be either in an Excel or CSV format.
The CSV format will give you four columns:
||Peak Concurrent Sessions
||Peak Connected Sessions
||Peak Disconnected Sessions
The Excel export will give you a formatted table and include a graph, but we'll use the CSV file moving forward.
How to Record/Display the Data
There are many tools that can be used to display this information, but we'll use Excel in this example as it's the one I'm most familiar with and probably readily available to most Citrix Administrators.
In our CSV file, we select the Date and Peak Concurrent Columns. Click the Insert Menu and then Recommended Charts. Excel should choose Line.
Click OK and the graph is inserted into your worksheet.
The x-axis shows the dates. This can be formatted to drop the time which displays as 0:00. Double-click the X-Axis and the Format Axis window will display to the right. Scroll to the bottom until you see Number. Click on the drop-down to show the options.
Click on the drop-down under Category and select Date. This should change the date format to only include the Month Day and Year. This can be further changed depending on how you want the graph to look.
Every month, you export and paste the data to your worksheet and eventually you will have a graph that is like the one below that spans several years.
If you want to track changes year to year, you create a Series for each year and only select the concurrent users for that year. I find Excel's 3D graphs best for showing this type of relationship, but I recommend ordering the Series with the most recent year on top.
The horizontal axis will be the same rage for each year. For example, for the 3 Series above, they all use the dates for 2018 as their horizontal axis. Selecting a 3-D Area Graph gives you the following.
This better demonstrates how concurrency changes from year-to-year.
For this final data display we're going to jump feet first into grade-school statistics. Trust me this will be worth it :). First, a brief primer on what we're calculating and why.
- Min - The lowest concurrent number of sessions in a month. If this rises over time, then during non-business hours/days you are getting more utilization.
- Max - The highest concurrent number of sessions in a month. If this rises over time, then your Citrix environment is adding more users and it may be time to consider creating more virtual machines or adding hardware hosts to keep up with growth.
- Range - The difference between min and max. If this number is small, then your minimal and maximum values are similar, and you have full utilization all the time. Otherwise, if this grows then your busy periods are getting busier.
- Average - The mean in this case. The sum of all concurrent counts for the month divided by the days in the month. As it goes up, it shows growth in your environment, but you do not want to make growth decisions based on the average number of users.
- Standard Deviation - This shows the variation you have in your concurrency counts. If it's low, then most of your concurrency levels are close to average. If it's high, then you might have much busier days during the month. You could plan for this by ramping up more resources for users on these days.
- Median - This value is the middle of your concurrency numbers. 50% of your days are less than this number and 50% are greater. This is also known as the second quartile. If we graphed the values in a bell curve from lowest to highest, this would be the middle bump on the bell curve.
- Quartile 1 - This value is the middle number between the minimum and the median. In a bell curve this would be the left-side representing the lowest 25% of values
- Quartile 3 - This value is the middle number between the maximum and the median. This is the number I track to see growth over time and whether resources need to be added. This number shows you where 75% of your concurrent days are. On a bell curve, this is the right-hand side and represents the highest 25% of values.
- IRQ - This is calculated by subtracting the first and third quartiles. It is the best number that describes where most of your concurrency days fall and your real average daily usage.
Thankfully, Excel is built for this and all these formulas are built in. To show changes over time, I use the same concurrency data as above, but each month gets its own column. At the bottom all the above stat functions are implemented.
User concurrency is only one of many metrics you can track and use to establish KPI's (Key Performance Indicators). Recording and graphing it over time will give you insight to your user growth and Citrix utilization. Please comment if you have any questions.
Thanks for reading,
Citrix Technology Advocate
Raleigh-Durham CUGC Leader