This is a customer's use case as an example:
More than 50% of our US based clients are going over to one of the 2 London based servers, rather than one of the 4 US based ones.
The following has been what most customers have tried in the past:
Some people had configured the "Cloud-enabled Management Settings" policy, since this policy also contains the list of Internet gateways that are available for the targeted client computers to use. They just clone it, assign the desired internet gateways, like the ones in EMEA, using a target with machines in EMEA and keep it local that way.
From the customer:
The problem with making multiple "Cloud-enabled Management Settings" policies, would be the lack of failover. Those two 158.x subnets are the EMEA based Gateways. Three US gateways all have less usage, one is barely used at all (that tiny yellow sliver).
The question here is:
There is no way to balance it out?
Unfortunately, Internet Gateways don't have load balancing. This is the function of a load balancer. KB 181705 "Implementing Cloud-enabled Management behind a load balancer"
If a CEM client is assigned a few internet gateways then it will roll to the new internet gateway for each new https requests.
So if Europe CEM clients are assigned Europe internet gateways then all of them will be kind of balanced because every agent will be using all of them.
If US clients are assigned US gateways only then all of them also should be equally loaded unless some of them have connectivity issues and is temporarily blacklisted on the clients.
If US gateway is not loaded fully then this could be due to the connectivity issues - if the CEM client cannot connect to an internet gateway then that internet gateway will be blacklisted for 1 hour and the CEM client will use the next available internet gateway.
You could properly assign internet gateways to US and Europe clients and check gateway's connectivity.