Closed rgaudin closed 5 months ago
Taking into account the location of users, location of mirrors, individual content of the mirrors, capabilities of each mirror (how much load they can take) and the online status of the mirrors, the logic for the selection of a particular mirror is done with the following considerations:
distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)
This helps for countries that have no mirror themselves, where only a random mirror from the continent could be selected otherwise.
According to a section of the video conference, MirrorBrain works in the background. As such, there is no direct way to override the selection decision. However, collecting download statistics can help the content creators define fallback mirrors for countries with low internet connectivity as there is a bit of randomization done even after taking into account the closeness and strength of a mirror. This is highlighted in this section of the video conference where the closest mirror might not always be the best.
@kelson42, from our recent call, I suppose the
*_only
params might not be properly set.
Indeed probably, even if the priority was historicaly given on the overall robustness (to the opposite to speed). Still glas to see that these option are like I remembered them :)
Thank you very much @elfkuzco ; that's very helpful.
I'd like to share that our mirrorbrain image is at https://github.com/kiwix/container-images/tree/main/mirrorbrain.
This tells me that we are not using mod_asn
which could be an enhancement to our setup.
I am closing this issue as I think we have enough information at this stage. We now need data to help us better configure it :)
In order to limit the scope of this project, and to understand what are the available variables we can act upon, we need to have a very clear understanding of how the load balancer works: what information is used and how in order to compute a request response.
I suppose it's all in mirrorbrain's documentation.
I am sharing here the configuration (removed the admin's details) as some would matter.
mirrobrain.csv
@kelson42, from our recent call, I suppose the
*_only
params might not be properly set.