DNS性能一直是热门话题。无论是DNS-OARC、区域互联网注册机构还是IETF会议,都离不开关于DNS性能测量的新成果。大多数基准测试都集中在拒绝服务抵抗能力上:能承受的最大查询负载是多少?这当然是一个值得了解的指标。然而,讨论较少的是正常条件下的性能。每次域名服务器运行缓慢时,某个地方的用户都在等待。而且,不仅仅是用户在等待,一些政府机构,比如英国的OFCOM,对DNS延迟非常感兴趣。此外,在合同关系中,经常希望指定保证的性能水平。那么,域名服务器表现如何呢?“有三类谎言:谎言、该死的谎言和统计数据。” —— 未知来源
众所周知,当比尔·盖茨走进一家酒吧时,平均而言,里面的人都会成为亿万富翁。因此,平均数本身并不能充分描述酒吧中的财富分布。一个更受欢迎且通常更好的统计数据是中位数——50%的数字将低于中位数,50%将高于中位数。所以,对于我们的假设酒吧,如果大多数人在那里每年赚‘x’美元,那么这个中位数(或多或少)也会是这样。现在比尔·盖茨在那里,中位数只会略有上升。在许多情况下,中位数是描述分布的好方法,但它并不完全适用于DNS性能。DNS性能对用户体验的影响使得将其与救护车到达时间进行比较很有用。如果平均而言,救护车在呼叫后10分钟内到达,这相当不错。但如果这是通过95%的时间在1分钟内到达,而在5%的时间内需要200分钟,那么对于那二十分之一的情况来说,这可就坏消息了。换句话说,迟到比早到要糟糕得多。在这种情况下,中位数不到一分钟,因此中位数也没有显示出我们让5%的案例等待了超过三小时。为了更好地评估救护车,一个简单的直方图就很好:这张图立即清楚地表明存在问题,我们的“10分钟平均到达时间”是误导性的。
尽管晚到的DNS响应当然远远不如晚到的救护车(除非你是为救护车调度员做DNS),但这种类比是恰当的。两秒钟的DNS响应延迟是完全无用的。遗憾的是,制作典型递归域名服务器的到达时间图并不是很有信息量:从这个图中,我们可以看到几乎所有流量都集中在单个区间,可能接近0.1毫秒,但除此之外,它并没有教会我们太多。一个常见的技巧是使用对数刻度,
原文: APNIC Blog(2017-11-24)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog