【问题标题】:DNS Resolving per request每个请求的 DNS 解析
【发布时间】:2012-06-15 16:39:37
【问题描述】:

有没有人知道,或者甚至更好的任何数据来备份它,每个“正常”使用网站会发生多少 DNS 解析。在有人开始问我认为网站的正常使用情况之前,你们有什么想法和数据来支持它。

换句话说,假设用户每个月访问一个网站 20 天,他每天花费一整天时间查看大约 10 个页面,因此假设他每天发出大约 1000 个页面请求。这意味着每天有 20 000 个页面请求。

知道许多 DNS 解析了谁,因为我知道浏览器和操作系统现金 DNS 解析,但我不知道他们会保留多长时间。

【问题讨论】:

    标签: dns ip resolve


    【解决方案1】:

    嗯..这是一个很难正确回答的问题,因为如果你这样问的话,它是一个棘手的问题。

    您确实无法通过考虑 HTTP 请求来衡量这一点,因为可能会发生很多事情,这会使您的数字发生变化。例如,ISP 或用户刷新其 DNS 缓存,因此需要一个新请求来获取您的域的 IP 地址。此外,一些客户端实现可能会选择不遵守您的到期时间。更别提slashdot effect 真的可以让你的服务器宕机了!此外,如果您处理邮件,您可能会收到对 MX 记录的请求,并且无论出于何种原因,您都会收到来自邪恶实体的大量无效 DNS 请求,这可能会给服务器带来一些不希望的负载。

    现在,关于到期时间:可以将 DNS 服务器配置为分别为每个 DNS 记录设置 TTL(生存时间)(如何设置取决于您的特定服务器和/或托管解决方案)。

    如果你不希望更改域名的IP地址,那么你可以设置一个非常高的TTL(以秒为单位),比如86400,相当于1天。这意味着当 ISP 查询您的 DNS 以获取域的 IP 地址时,它将在发出新的 DNS 请求之前保留记录 1 天。

    通常,最终用户会查询他们使用的 ISP 的 DNS,因此他们会首先查询(如果需要)ISP 的 DNS 而不是您的 DNS,然后 ISP 将决定(基于 TTL)是否查询您自己的需要 DNS。如果没有,他们会将缓存的记录提供给客户端。这将大量减少您对自己服务器的请求。

    有时,DNS 记录用于进行循环解决方案,为每个 DNS 请求返回一个新的 IP 地址。在这种情况下,TTL 可能会短得多。另一种方法是在相同的 IP 地址处理请求,但将它们负载平衡到“内部”服务器,没有公共 IP 地址。

    您可以在此处阅读有关 DNS ttl 的更多信息:http://www.simpledns.com/help/v51/index.html?df_ttl.htm

    希望对你有帮助!

    【讨论】:

    • 它确实解释了一些我可以尝试猜测的东西。那么说我应该期望每个用户每天至少解析一个 DNS 是不是错误的?
    • @BorisHorvat 我想你可以这么说,但你应该真正关注你的服务器每秒可以服务的 dns 请求(tcp 和 udp)的数量,并添加您需要更多服务器。如果您想进行一些调整,这可能更像是一个反复试验的事情。我现在真的很好奇你为什么以这种特殊的方式问这个问题:)
    • amazon 对aws.amazon.com/route53/pricing 有一个奇怪的定价模式,这基本上是他们的 dns 托管管理(据我所知),所以我想看看会发生什么:D
    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2015-04-11
    相关资源
    最近更新 更多