hi, Aki tnuomi, Thank you for suggestion. I found pdns always get the fastest one from the front of result returned by function "SyncRes::shuffleInSpeedOrder”. If a slow one at the back has no opportunity to be choosed, how pdns know it become fast. I can not find the source code make pdns query the slow one.
on the other hand, I found there is a houseKeeping thread which will erase the stale speed value of a dns server . If a slow dns at the back of t_sstorage->nsSpeeds map, it will be erased because of rarely to be queried, and only fast dns server will have its speed updated by this code " t_sstorage->nsSpeeds[*tns].submit(*remoteIP, lwr.d_usec, &d_now);” at syncres.cc:1003. . And then, only dns servers which are mostly queried will stay in t_sstorage->nsSpeeds map. It make me puzzled. -- jacky On Friday, December 27, 2013 at 3:08 PM, Aki Tuomi wrote: > On Thu, Dec 26, 2013 at 10:34:23PM +0800, jacky wrote: > > hi, all, > > I think may be it is a question more suitable to dev maillist, so I submit > > it here. If I made a mistake , please let me know. Thanks. > > > > I'am reading the source code of pdns-recursor-3.5.3. There is question I > > can not understand. > > When a authoritative dns server become slow because of overload, > > pdns-recursor will move it backwards in the > > t_sstorage->nsSpeeds map, and then a faster dns server will be used > > preferred. But when the dns server recoverd > > from overload and become fast again, what will pdns-recursor do about it ? > > Will pdns-recursor move it forward > > in speed map? I can't find relevant source code. Any suggestion? > > > > -- > > jacky > > > > > Hi! > > It works by moving the fastest one on top. > > > _______________________________________________ > > Pdns-dev mailing list > > [email protected] (mailto:[email protected]) > > http://mailman.powerdns.com/mailman/listinfo/pdns-dev > > > > >
_______________________________________________ Pdns-dev mailing list [email protected] http://mailman.powerdns.com/mailman/listinfo/pdns-dev
