If your rr table contains more than one address record for the same
name, and one or more of the records has an aux value greater than
zero, MyDNS will weight its response using the value in aux.
The value of aux may be 0 through 10. Values above
10 are silently clamped down to 10. MyDNS uses this value
to determine which address record to list first, which will be the address
a client is most likely to use when attempting to contact the device with
the name requested. The rest of the values are returned in random order.
A low value in aux makes an address record more likely to be listed
first. An address record with an aux value of 10 will
never be listed first. The balancing algorithm causes servers with
a lower aux to be selected much more frequently than those with
higher values.
Here's an example of how the requests were distributed on a 10,000-query test against 11 hosts, 0-10:
aux 0 27.54%
aux 1 20.52%
aux 2 14.47%
aux 3 11.62%
aux 4 8.04%
aux 5 5.08%
aux 6 4.16%
aux 7 3.34%
aux 8 2.81%
aux 9 2.42%
aux 10 0.00%
The reason for the somewhat backwards scheme here, with 0 being the
most heavily weighted, and 10 (and above) never being selected at
all, is that almost any indication of server load is going to be on a scale
where 0 means "no load". One way to use load balancing is to run a
program that periodically updates the aux value for a machine to
reflect the current load average, or bandwidth use, or something - adjusted,
of course, for a 0-9 scale, or 10 if the machine is
slashdotted.