Can you force clients to run relay selection process?

(imported topic written by murtasma91)

We have 6 relays on the same subnet. Most of these relays have around 1,000 clients connected however one of the relays on this subnet has over 3,000 clients connecting.

Every client that is using this relay is set to use the automatic relay selection process. Why are there so many clients on this one relay compared to the other 5 on that network segment? Each relay on that segment has the same _BESRelay_Register_Affiliation_Advertisement settings. All clients in our deployment use the same _BESClient_Register_Affilication_SeekList

What can I do to get more clients to connect to the other available relays?

(imported comment written by cstoneba)

probably because the one relay with 3000 clients is actually closer to the clients (has a lower hop count). So the clients look at the relays matching their seeklist, then out of those that reponds, it picks the one that is closer.

I am having a similar issue. I have 4 relays with the same advertisment lists, but since 2 of them are close to the clients, I have 2 rleays with 2000+ clients and 2 relays with <200. I wish there was some load balancing options.

(imported comment written by murtasma91)

Most of the clients overloading the relay in question are forom a particular department. I’ve found clients from the same department connected to the other relays and they have the same hop count of 3.

(imported comment written by SystemAdmin)

I’ve had similar issues. Work with your network engineer to understand the topology of your network. I’ve had to beg, arm-twist, and re-locate relays in order to get peer relays to the same hop count from the client perspective. Once the hop count is uniform, the clients actually do a pretty good job at load balancing across them. The painful part is trying to motivate the network guys to fix it.

(imported comment written by cstoneba)

JonL, that’s a good suggestion, but like you said, extremely difficult. There should be a way within the BigFix to better manage the relays.

(imported comment written by MattBoyd)

To force a relay selection make an action with these commands:

relay select
notify client forceRefresh

You might want to consider changing your relay affiliation advertisement and seek lists to be a bit more granular so that clients will try the preferred relay first. Something like this might help you: http://forum.bigfix.com/viewtopic.php?pid=20216#p20216

I’ve always found that making relay auto select work properly requires some coercion with the relay affiliation settings… hop count doesn’t always cut the mustard (yum!).

(imported comment written by SystemAdmin)

I use autoselection for a large number of machines and there are a number of cases where one or two relays will be the closest/best choice for machines, even with 3 or 4 other relays screaming for attention.

Now, in an ideal world, I would just install new relays, relocate existing ones or create new relays to ensure the coverage is balanced a bit better. As this really isn’t an option, the best way I’ve found to handle it is to use a tiered naming convention in my autoselection list.

Example: The advertisment list is something like “d_1,d,c,b,a,*”, where some clients might have “d,c,b” in their list, and some will have “d_1,d”. The ones with “d_1” will attempt to find a matching relay with “d_1” in their list. If they can’t find one (or there isn’t space), they will try “d”. Any clients with “d” will ignore “d_1” in the list, but still might connect to one with “d_1”, having matched on the “d” in the list.

But even with the settings above, the real control for load balancing is to use “_Enterprise Server_ClientRegister_MaxChildCount”. This sets the limit for how many clients you will allow to connect to a relay. So, assuming you have 2000 clients that are trying to connect to three relays, 'Mr. Popular Relay" is set to 800 (or 900, 1200, etc. depending on spec), which will force the other 1200ish clients to get fed up and go shuffling off to find a less popular relay. Keep in mind that you still might have ‘Mr. Kind-of-Popular Relay, but who isn’t as Popular as Mr. Popular Relay’ that might need a cap as well (800 - 900?), to keep the desperate clients from clinging on to that one and ignoring the 3rd.

Once it is set up, it works very well, with only a quick check now and again to ensure your client loads are reasonably balanced.

-Jim

(imported comment written by MBARTOSH)

Jim, does the setting
"_Enterprise Server_ClientRegister_MaxChildCount" work on the root server and can I set it to 100 without getting into trouble.

I am continually told to reduce the count of clients affiliating with the root servers but the only suggestion I have heard to reduce clients on the root is to put a dummy entry in DNS which keeps the clients from finding the root server. This just doesn’t seem like the right thing to do.

(imported comment written by jgstew)

You should post this to a separate topic on the forum and link to this related entry.

(imported comment written by murtasma91)

Great information jwilkinson thanks for sharing. I think I’ll take your approach to the advertisement list in combination with the MaxChildCount setting.

(imported comment written by cstoneba)

yes, thanks jwilkinson. I have been using relay affiliation for years and have never heard about the MaxChildCount setting before, but it sounds promising.