How to Evaluate TScale
Thank you for deciding to evaluate TScale, the fastest way to add scalability and capacity to Citrix and Microsoft Terminal Servers.
1.
How Does TScale Work?
TScale works by reducing the Virtual Memory that each user on a Terminal Server uses when loading their typical set of applications. Across a typical set of Win32 applications, TScale will reduce the total VM per user by 30% to 40%. Since VM utilization is the constraining resource in the ability to add users to a Terminal Server system, this reduction in VM per user directly translates into the ability for that Terminal Server to support 30% to 40% more users.
It is important to note that what TScale optimizes is Virtual Memory, not just physical memory. The reason that Virtual Memory is important is that the Windows OS (NT/2000/.net) tries to keep the amount of physical memory that is used by a process to a minimum. It does this by swapping components of
applications out to the page file. So the total Virtual Memory used by an application consists of the physical memory used plus the amount of page file space used.
The usage of Virtual Memory on a Terminal Server system is a constraining resource for two reasons:
1. As multiple applications get loaded, the CPU spends more and more time swapping components of those applications to the page file. Since the page file is located on hard disk, this interjects more and more of the slowest component of the server (the hard disk) into the performance of the application.
2. As multiple copies of an application get loaded the components that comprise the application often conflict with each other for location in memory. The OS resolves these conflicts by swapping components to the page file. This again interjects more and more hard disk activity into the performance of the application.
TScale addresses the two problems above in a unique and patent pending way. In the same manner as a disk defragmenter utility that optimizes how files are stored on the hard disk, TScale optimizes how the components that comprise Win32 applications get loaded into memory. The TScale optimization process changes how Win32 components get loaded into memory in two fundamental ways:
1. After optimization, each component has its own unique location in memory. This prevents memory location conflicts and significantly reduces the degree to which the OS has to react to memory location conflicts by swapping components to the hard disk.
2. Since each component has a unique and well-understood address in memory, a copy of the entire component set does not have to be loaded for each instance of every application that gets loaded. After TScale optimization, it is often the case that one set of the components in memory can be shared by many instances of the applications that need these components. This reduces both physical memory utilization, and the swapping of redundant components to the page file.
2.
Setting Up TScale for a Productive Evaluation
In order to properly evaluate TScale on a terminal server system it is important that you set it up properly. Please follow the steps below to ensure proper setup:
• When TScale is installed it installs a service (the TScale Analysis Service) which constantly analyses which applications are loaded and which applications are using which components. This is a very lightweight service both in terms of memory consumption and CPU load. You should be sure to let this service run continuously on both your evaluation and production terminal server systems. This service “finds” that applications which TScale will optimize. The applications must be loaded in memory on the server on which TScale is installed in order for TScale to find and later optimize that application and its components.
• The TScale optimization process (TscaleBace –optimize) should be run when the number of users using applications is at the minimum level possible. The best practice is to schedule two
optimization sessions, one at a time when the system is lightly used, and another upon system restart. If you reboot your servers every night, you only need to schedule an optimization session to occur upon system restart. Scheduling optimizations sessions to occur upon restart is critical to the operation of TScale since it allows TScale to optimize components before they are loaded by applications users. TScale cannot optimize components that are in use by applications users.
• It will typically take three of four nights of optimization sessions for TScale to complete its optimizations. You will know that TScale is done when the Summary Benefits Graph, which is presented when you highlight the Sessions node, has flattened out (the line on the graph stops going up), and the contents of the nodes in the sessions tree which represent the most recent optimization session are empty (this means there is nothing left to optimize).
Schedule an optimization
session to occur at system
restart so the optimization
occurs before users load
applications.
3.
Seeing the results of TScale optimization
After TScale has run for three or four days (assuming you are optimizing after reboot AND you are not changing the applications software on your terminal servers), the Optimizations Sessions Summary Graph in the Process Optimizations Monitor should start to flatten out like it has in the graph below.
If the graph that you see in the Process Optimizations Monitor does not flatten out after three or four days like the one above, then please take the following steps:
1. Bring up the Process Optimizations Monitor
2. Right-Click on either the Sessions Node or the Applications Node 3. Select “About KevSoft TScale”
4. Click the “Contact Technical Support” link
This will cause the Process Optimizations Monitor to collect the data files that TScale keeps about your optimizations into an email, and send them to the technical support staff at KevSoft. We will then be able to have a productive conversation with you about how to make TScale function correctly in your
4.
Evaluating TScale’s Results
If you are getting an Optimizations Sessions Summary graph that flattens out like the one in the picture on the previous page, the next step is to evaluate the impact that TScale is having upon you main applications. To do this, highlight the Applications node in the Process Optimizations Monitor. You should get a graph that looks like the one below:
The green bars on this chart show the maximum virtual memory that TScale could save for each instance of the applications that are listed at the bottom of the chart. Focusing on the four applications that have high green bars on the left side of the chart, we see:
• R2WIN.EXE (Reflection a terminal emulation package) with over 9MB of VM savings per user. • IEEXPLORE.EXE (Internet Explorer) with over 10MB of VM savings per user
• EXCEL.EXE (the spreadsheet – running an ESSBASE Add-in) with 14 MB of VM savings per user).
• MSACCESS (the database) – with over 11 MB of VM savings per user.
Automating the Virtual Memory Analysis Process
In order to make the calculation of the total Virtual Memory savings easier, the Process Optimizations Monitor includes a feature that allows you to export the savings data in the Applications Tree to a .csv file. Simply right-click on the Applications Node and select “Export”. Then select “text comma separated (CSV)” as the file type, give it a file name and click “OK”. The Process Optimizations Monitor will then build an Excel spreadsheet that will look similar to the one below:
The bottom line to the analysis above is that as a result of TScale optimization, you should see Virtual Memory utilization that is 380 MB less just as a result of optimizations performed on Lotus Notes.
5.
Translating VM Savings Into Scalability
The technical result of TScale optimizations is that Win32 applications will use less Virtual Memory. The amount of Virtual Memory that is used by a user loading the typical set of applications determines the number of users that can be supported concurrently by a Terminal Server. To translate VM savings into scalability, we simple need to calculate the average VM per user before and after optimization, and then take the percentage difference between these two numbers.
In the example below, two identical servers are compared with each other. Both servers are quad processor terminal servers with 4GB of Ram, and configured page file of 3.2 GB. Applications running on these servers included Reflection (the terminal emulator), Internet Explorer (with custom user interface controls), Excel (with an EssBase add-in), Access, Outlook, and Visio
Application Component VM Size Before (KB) VM Size After (KB) VM Saved (KB)
NLNOTES.EXE D:\PROGRA~1\NOTES\NLSXBE.DLL 672 88 584
NLNOTES.EXE D:\PROGRA~1\NOTES\NSEN31EN.DLL 24 12 12
NLNOTES.EXE D:\PROGRA~1\NOTES\NSKN31EN.DLL 24 12 12
NLNOTES.EXE D:\PROGRA~1\NOTES\NNTCP.DLL 92 20 72
NLNOTES.EXE D:\PROGRA~1\NOTES\NTCP.DLL 44 16 28
NLNOTES.EXE D:\PROGRA~1\NOTES\NAMHOOK.DLL 28 16 12
NLNOTES.EXE D:\PROGRA~1\NOTES\NICNV.DLL 24 12 12
NLNOTES.EXE D:\PROGRA~1\NOTES\NPLUGINS.DLL 88 24 64
NLNOTES.EXE D:\PROGRA~1\NOTES\NNOTES.DLL 7400 660 6740
NLNOTES.EXE D:\PROGRA~1\NOTES\LTSSB01.DLL 72 16 56
NLNOTES.EXE D:\PROGRA~1\NOTES\NDBNOTES.DLL 36 16 20
8504 892 7612
Per Instance VM Savings For Notes 7612
Typcial Number of Concurrent User 50
System Statistics and User Count For an Un-Optimized Server
The relevant statistics for this server are:
•
Number of concurrent users:
87
•
Physical memory utilization
4,128MB – 2,344MB = 1,784MB
•
Page file utilization
798 MB
•
Total Virtual Memory Utilization
1,784 MB + 798MB = 2,582 MB
System Statistics and User Count For a TScale Optimized Server
The relevant statistics for this server are:
•
Number of concurrent users:
109
•
Physical memory utilization
4,128MB – 2,426MB = 1,702MB
•
Page file utilization
407 MB
•
Total Virtual Memory Utilization
1,702MB + 407MB = 2,109 MB
•
Virtual Memory per user
2,109MB/109 =
19.35MB per user
6.
The Summary Results
TScale
Maximum Memory
Page File
Total VM Avg. VM
Name Optimized
Users Utilization Utilization Utilization
Per
User
WTS-45 No
87 1,784
MB
798MB
2,582MB
29.68MB
WTS-46 Yes
109 1,702MB 407MB 2,109MB 19.35MB
1. Average VM per user is reduced by 35.8%
7. Translating
Scalability
Percentage Into Economic Benefits
The analysis below is done in a Scalability Spreadsheet which is downloadable from
KevSoft web site. Please go to
www.kevsoft.com/downloads
to gets this spreadsheet.
This particular analysis assumes that on the customer’s quad processor boxes the
maximum number of concurrent users was 87 before optimization. A scalability benefit
of 35.8% is delivered by TScale optimization. This increases the number of concurrent
users per server to 119, and reduces the number of servers required to support 1000 users
from 12 to 8, thereby saving $100,000 in server costs. 8 copies of TScale cost $7,960,
resulting in a net economic gain of $92,040.
Dual Processor Scenario Quad Processor Scenario
Variables Variables
TScale Scalability % 35.8% TScale Scalability % 35.8%
Cost of a dual proc. Server (hw/sw/maint) $ 10,000 Cost of a quad proc. Server (hw/sw/maint) $ 25,000
Cost of TScale license (1-2 Processor) $ 695 Cost of TScale license (3-4 Processor) $ 995
Avg. Concurrent users WITHOUT TScale 50 Avg. Concurrent users WITHOUT TScale 87
Total Users 1000 Total Users 1000
Calculations based on Variables Calculations based on Variables
Avg. Concurrent users WITH TScale 68 Avg. Concurrent users WITH TScale 119
Total Servers Needed without TScale 20 Total Servers Needed without TScale 12
Total Servers Needed with TScale 13 Total Servers Needed with TScale 8
Cost Scenario #1 (without TScale) Cost Scenario #1 (without TScale)
Server Costs $ 200,000 Server Costs $ 300,000
Cost Scenario #2 (with TScale) Cost Scenario #2 (with TScale)
Server Costs $ 130,000 Server Costs $ 200,000
TScale Software Costs $ 9,035 TScale Software Costs $ 7,960
Total Cost $ 139,035 Total Cost $ 207,960
Summary Benefit Analysis Summary Benefit Analysis
Reduction in Server Costs due to TScale $ 70,000 Reduction in Server Costs due to TScale $ 100,000 Investment in TScale Software $ 9,035 Investment in TScale Software $ 7,960
Net Benefit Due to TScale $ 60,965 Net Benefit Due to TScale $ 92,040
Total Economic Gain From TScale Total Economic Gain From TScale
$60,965 $92,040
% Reduction in Overall Cost % Reduction in Overall Cost