Lanny Marcus wrote:
On Sun, Aug 23, 2009 at 1:32 AM, Johnny Hughesjohnny@centos.org wrote:
CentOS has developed our own mirrorlist and isolist applications and inside this application, we have some countries that we shift to other countries and we also have some country groups defined.
Johnny: A few minutes ago, I began a "yum update" for my CentOS 5.3 (32 bit) Desktop. I could see a change for the fastest mirrors. For "extras" it chose mirrors.ucr.ac.cr About 1 1/2 hours in a nonstop jet from here. I'd never seen that before, so I'm sure it is a result of the changes you have been making. Lanny
Yes, it is indeed based on changes made to find geographically close mirrors.
If there is a problem though with "number of hops" for those mirrors, then please let me know and we can do something else for South American countries.
If you look at the file /var/cache/yum/timedhosts.txt (assuming you have fastestmirror turned on, something I highly recommend), you can see the times that yum saw when testing the connection last.
Also, you can look at the following link to see the mirrorlist you are getting:
http://mirrorlist.centos.org/?release=4&arch=i386&repo=os
The mirrorlist contains only 10 servers, and is regenerated every 4-8 hours. If you have more than 10 mirrors available (The US and several EU countries) then you are likely to get "all different" mirrors every time the list generates. Also, a different list is generated for each repo (os, extras, centosplus, updates, etc.). The purpose of the revolving lists over time and different lists for each repo is to equally distribute load equally across 300 servers.
For countries where there are some, but not more than 10, mirrors what should happen is that every time we regenerate the list, the "less than 10" servers will always appear and we will back fill servers that are geographically close to your country. If we can not get "10" servers that are geographically close based on our lists, then we will back fill based on Continents. If there are still not 10 servers (Africa and South America), we will back fill fast (high bandwidth) servers to make up the rest of the list.
So, this system should produce geographically relevant (and pick the fastest mirror of those listed).
The smallest granularity is by country, so if you are in New York, New York USA, you will get a list of 10 US servers ... but not necessarily the 10 closest to New York city (as an example). However, of the list of 10, you should use the one that has the lowest connect time to you from that list.
On thing to remember is that you can also add a couple servers with the "baseurl=" line ... and that you can use both mirrorlist and baseurl at the same time. Fastest mirror should always pick a local mirror (time should be MUCH less) if it is available, then fail over to other mirrors is the local mirror is down.