Ever wondered how Vmware Horizon is doing its loadbalancing when you have a Cloud Pod architecture configuration?
First it didn't work at all…
Global entitlements is crucial in this configuration. Without, it doesn't know who or what is in the second Pod and it won't work.
But now for the loadbalancing part.
First it looks like a spillover loadbalancing technique:
But after we did some more testing we figured out it is much smarter than that...
In our test case, shown above. We had 2 servers on each Pod, 1 (left) with no max allowed connection and the other (right) was also not blocked with any max connections. After it had 8 users and the other Pod had 2, I was already worried so I changed the server to block on 4 users per server.
Because would it fill the right one totally (or 90%) and a little bit on the left? or did it do something different?...
In our next test I created 10 servers on the left, each with a max of 20 users.
On the right we created a farm with 14 servers. Because this Pod is bigger we set the max users to 16. Because of spillover I would guess that the biggest Pod should be filled first after it will use the second Pod.
12x20users (=240users) on one Pod and 12x20users (=240users) on the other, we got a solid 50/50 balanced max user count on each Pod.
The results were exactly what we wanted.
Because I still wanted to know what it does and how he does it, I changed the servers again.
7x16users(=112users) and 18x20. (this is now our primairy Pod)
Results in the screenshot:
**We also tested with a max of 360 users on both Pods so we know for sure it can handle a failover situation. -Test approved-
On the left we have a maximum of 112, the right could go up to 360.
360 is the maximum users we have, 100%.
The servers are a balance of 25/75. So it began with 50 users on the left and 80 on the right at around 8:00AM. It was almost even balanced as the servers are. When the left side was full after 9:00AM the right Pod filled untill all our users were logged on. (around 340/350)
I think we can take a first conclusion out of this test.
It uses a ratio loadbalancing technique*.
*It will take a look at both maximum loads and divides it by that percentual difference. In our case we want a 50/50 load (active-active). But if you use a 40/60 or for example a 33,3/66,6, it will try to give you 100/200 user load.
More test will show this… to be continued...