This article describes how Parallels RAS auto-scale mechanism works with RDSH Group based on RDSH Template. When creating new or adding an existing host pool, Parallels RAS allows to configure the following auto-scale settings:
Min number of servers to be added to the group from template:
|This is the number of servers available always in the group. E.g. When a group is empty, a server will be added to the group.|
Max number of servers to be added to the group from template:
|This is the number of maximum servers a group is allowed to have. At no time the number of servers in a group should exceed this number.|
|Add servers from template when workload threshold is above (%):||This is the workload % of the group required to trigger a request (refer to the workload calculation explained below).|
Number of servers to be added to the group per request:
|This is the number of servers to be added per request, if the number of servers to be requested is going to exceed the maximum number of allowed servers, the auto-scaling engine only adds the required servers.|
Drain and unassign servers from group when workload is below (%) and remains below this level for:
|This is the workload % of the group required to trigger un-assignment (removal of server from group). If remains below is not set to immediate, then it will only trigger the un-assignment if the workload % of host pool is still below after the remains below time has elapsed. Please note that if in between the first un-assignment trigger and the second check after the remains below time has elapsed the workload % meets the request criteria, the un-assignment request is discarded.|
The RDSH group workload is calculated based on the sessions (active/disconnected). The maximum sessions value configured in the RDSH group properties > Agent settings is taken into consideration as well. Sessions currently running on the hosts can be viewed from the Site Info page or from the session management page in the Farm category section.
totalSessions = total running sessions (active/disconnected) from all hosts in host pool
maxServerSessions = the limit number of sessions on server multiplied by the number of servers with agent state as OK
RDSH Group Workload % = (totalSessions * 100) / maxServerSessions
How the auto-scale action is triggered
The checks for RDSH template requests and un-assignment are triggered by one of the following scenarios:
- By applying the settings (two minutes after it is processed on the primary Publishing Agent).
- By the session counters (if they changed only) received from each RD Session Host guest agent.
- Every 30 minutes.
Note: Only the primary Publishing Agent of each site will trigger/process the mentioned checks. The check is not triggered immediately when the apply notification is received because there might be agents that need to be redistributed in a multiple Publishing Agents environment.
|Min number of servers to be added to the group from Template:||1|
|Max number of servers to be added to the group from Template:||5|
|Add new servers from template when workload threshold is above (%):||60|
|Number of servers to be added to the group per request:||1|
|Drain and remove servers from group when workload is below (%)||20|
|and remain below this level for||Immediate|
- We have 30 running user sessions on the server Server1 which equals to 60% of the workload we configured.
- There is another user connected and the workload now is above 60%.
- Parallels RAS will trigger the creation/adding of the additional server Server2 immediately after the 31st session established.
- The new server provisioning will take few minutes depending on the configuration.
- Server2 provisioned and operational. 15 users connected to it. On Server1 at this time we have 40 sessions, in total 55 sessions on two servers.
- 6 more users connected to Server2 (21 sessions on Server2 in total). Server1 still serves 40 sessions. The workload on both hosts per configuration is 61% now, this triggers the creation of the 3rd Host.
- Server3 is fully operational and serves 7 sessions. There are also 30 sessions on Server2 and 40 sessions on Server1, the overall group workload is ~51%
- After the working day users started logging off and there are only 25 sessions running (~16%).
- Since we set the "Immediate" in the RDSH Group properties, Server3 will be immediately set to drain mode first since it has the least number of users sessions running.
- Server2 will switch to the drain mode during the next check if the total workload at this time is less than 20%.
- Once all users logged off, these hosts will be unassigned from the group. Server1 will continue running normally due to the setting "Min number of servers to be added to the group from Template".
- In case new users connects at this time and increase the workload back to 60+%, this will trigger the provisioning of the new hosts. (Server2 and Server3 once in drain mode, will not accept new user sessions)