Organizations working with application and desktop delivery solutions analyze carefully how to optimize their resource utilization so as to ensure a smooth user experience. Therefore, selecting the appropriate Remote Desktop Protocol (RDP) load balancing algorithm to distribute incoming user connections becomes essential for achieving this goal. This blog post will explain how CPU optimization functionality enhances the built-in load balancing methods provided by Parallels® Remote Application Server (RAS).
Parallels RAS Load Balancing Methods
First, we start in the Parallels RAS Console and explore the options available on the Load Balancing tab.

The following load balancing types are available in Parallels RAS to distribute incoming end-user connections among all available session hosts:
- Resource Based: Distributes sessions to servers depending on how busy the servers are. A new incoming session is always redirected to the least busy server. This method uses the following counters to determine which is the least busy server:
- User sessions: Redirects users to a server with the least number of sessions.
- Memory: Redirects users to the server with the best free-to-used RAM ratio.
- CPU: Redirects users to the server with the best free-to-used CPU time ratio.
These counters can be combined with each other according to each use case. When all of the counters are enabled, the load balancer adds the counter ratios together and redirects the session to the server with the most favorable combined ratio.
- Round Robin: Redirects sessions in sequential order without considering server load.
Resource-based load balancing is the default method.
CPU Load Balancing Management
The CPU load balancer improves user session performance by providing administrators the capability to manage the priority of all processes running on a session host dynamically. This ensures that other processes within the same session, as well as other sessions on the same host, have enough CPU resources to operate without any degradation of service.
When it is enabled and configured, the CPU load balancer lowers the priority of a particular process when its CPU usage exceeds a specified value, thus preventing any application from consuming too much processor time and hindering other applications. The load balancer will revert the priority of any lowered process to its original level once it is running below a certain percentage for a precise number of seconds.
By combining Parallels RAS load balancing algorithms with the CPU optimization feature, a higher user density can be achieved, thus maximizing resource usage while ensuring a smooth user experience.
Tweak CPU Optimization
CPU optimization is also controlled from the Parallels RAS Server Console. The Enable CPU Optimization option is enabled and preconfigured out of the box and by default.

However, these parameters can be adjusted according to the requirements of each organization:
- Start: Specifies when CPU optimization should be activated. The Total CPU usage exceeds field indicates a system-wide CPU usage limit as a percentage.
- CPU Conditions: Specifies thresholds per process when a specific process exceeds or falls below the specified CPU percentages. Here you can specify Critical and Idle values. The CPU load balancer will adjust other priorities with respect to these values.
- Exclusions: Use the Exclusions list to specify processes that should be excluded from CPU optimization.
Exclude a Process from CPU Optimization
To exclude a process from CPU optimization, follow the steps below:
- Open the Parallels RAS Console, select the Load Balancing section, and locate the CPU Optimization tab.
- Locate the Exclusions section, where you can either click on the [+] button or on the Tasks > Add pull-down menu.
- A new window will open displaying all the running processes. You can either select a process from that list or enter a new process name.
- Click OK.

Note that you can remove a process from the list by selecting it and clicking on the [-] button or with the Tasks > Delete pull-down menu.
Disable CPU Optimization
Although CPU optimization is enabled by default, administrators can disable this feature by following these steps:
- Open the Parallels RAS Console, select the Load Balancing section, and locate the CPU Optimization tab.
- Uncheck the Enable CPU Optimization checkbox.

Improve User Session Performance with Parallels RAS
Apart from different RDP load balancing algorithms and CPU Optimization functionality, Parallels RAS includes additional built-in features to help organizations improve user session performance:
- Automated image optimizations: Parallels RAS includes more than 130 built-in, automated optimization capabilities designed to provide efficient and streamlined delivery of Remote Desktop Session Host (RDSH), virtual desktop infrastructure (VDI) or Windows Virtual Desktop workloads.
- Accelerated file retrieval: Parallels RAS enhances standard RDP client drive redirection functionality thanks to its file-caching capability. This feature accelerates the time of file and folder retrieval when users are accessing their endpoint local drives, thus providing an enhanced user experience, especially over low-quality networks.
- Multiple High Availability Load Balancers: A High Availability Load Balancer (HALB) is a preconfigured virtual machine included with Parallels RAS that load balances Secure Client Gateways (SCGs). HALB configuration is based on Virtual Servers, which have their own IP addresses and thus function as the single point of contact for client software. This feature provides organizations the flexibility to segregate and load balance end-user connections according to their needs.
- Improved delivery with third-party load balancers: Organizations can use their previously acquired third-party load balancers to deliver optimized content when end users connect to a Parallels RAS environment, thereby allowing companies to use their original load balancers while providing an enhanced user experience, especially in WAN scenarios.
Sources: https://www.parallels.com/blogs/ras/rdp-load-balancing/