Some useful measurements from Geoff, I'm not sure what the thesis is or it wasn't stated clearly enough for me at the outset, and the conclusion appears to be to use anycast for authoritative nameservers because it's recursives' faults.
Anyway: Recursives don't consistently do a good job of picking the fastest-responding authoritative. Apparently the description of how to do this in RFCs is unclear (not to me). Unbound uses a measure (400ms) which is conflated with a "diameter of the public internet". My interpretation is that BIND does the best job of honoring the RFC's intent in this regard.
I concur that faster is generally better, but on the other hand recursives shouldn't be running with a cold cache except on startup. Parallelization of requests isn't addressed and neither is for instance the impact of long CNAME chains or requiring resources from numerous instances of disparate authoritative infrastructure (or CNAME chains requiring resources from disparate infrastructure).
So this kind of seems to me like telling authoritative operators what they want to hear and probably already know / suspect.
You're right. I use Harmonic to browse Hackernews and it displays it really bad. I opened it in FF directly and can read it fine now. Thanks for making me aware.
Very surprised to see that bind9 did the best job picking the fastest NS and to abandon query within 10 seconds.
Very disappointing unbound results, as all servers falls into 400ms round trip time, so it just pick NS randomly.
As for public resolvers, they run a farm of resolvers so it is hard to assume we end up at the same resolver process every time. Nonetheless, the results are just like a random pick.
Anyway: Recursives don't consistently do a good job of picking the fastest-responding authoritative. Apparently the description of how to do this in RFCs is unclear (not to me). Unbound uses a measure (400ms) which is conflated with a "diameter of the public internet". My interpretation is that BIND does the best job of honoring the RFC's intent in this regard.
I concur that faster is generally better, but on the other hand recursives shouldn't be running with a cold cache except on startup. Parallelization of requests isn't addressed and neither is for instance the impact of long CNAME chains or requiring resources from numerous instances of disparate authoritative infrastructure (or CNAME chains requiring resources from disparate infrastructure).
So this kind of seems to me like telling authoritative operators what they want to hear and probably already know / suspect.