In going through the MapServer layer and I notice this:
// if url is not a string, it should be an array of strings,
// in which case we will randomly select one of them in order
// to evenly distribute requests to different urls.
if (typeof url == "object") {
url = url[Math.floor(Math.random()*url.length)];
}
whereas in HTTPRequest, it is:
// if url is not a string, it should be an array of strings,
// in which case we will deterministically select one of them in
// order to evenly distribute requests to different urls.
//
if (url instanceof Array) {
url = this.selectUrl(paramsString, url);
}
I dont know anything about the MapServer layer, but it seems to me that we could maybe be doing the same (deterministic) thing for mapserver layer as we are for wms.