【问题标题】:unbound 50% slower after upgrade from 1.5.8 to 1.6.7从 1.5.8 升级到 1.6.7 后,未绑定速度降低 50%
【发布时间】:2018-06-20 10:26:17
【问题描述】:

我最近执行了一次操作系统升级,随之而来的是将 unbound 从 1.5.8 升级到 1.6.7。

查看升级前后的未绑定统计数据,我发现平均递归处理时间增加了 50%。

之前:

Jun 13 10:39:43 proxy-1 unbound: [26309:0] info: average recursion processing time 0.105584 sec
Jun 13 11:39:43 proxy-1 unbound: [26309:0] info: average recursion processing time 0.116293 sec
Jun 13 12:39:43 proxy-1 unbound: [26309:0] info: average recursion processing time 0.109271 sec
Jun 13 13:39:43 proxy-1 unbound: [26309:0] info: average recursion processing time 0.145702 sec

之后(高峰时段的可比时间,中午):

 Jun 15 10:02:41 proxy-1 unbound: [30571:0] info: average recursion processing time 0.170653 sec
 Jun 15 11:02:41 proxy-1 unbound: [30571:0] info: average recursion processing time 0.186744 sec
 Jun 15 12:02:41 proxy-1 unbound: [30571:0] info: average recursion processing time 0.181295 sec
 Jun 15 13:02:41 proxy-1 unbound: [30571:0] info: average recursion processing time 0.183084 sec
 Jun 15 14:02:41 proxy-1 unbound: [30571:0] info: average recursion processing time 0.179574 sec

1.5 和 1.6 之间的任何变化是否会对性能产生重大影响?

【问题讨论】:

    标签: linux dns ubuntu-18.04


    【解决方案1】:

    对不起,这并没有真正回答,但它确实提供了一些调查细节


    我还注意到从 Ubuntu 16.04 升级到 18.04 时 DNS 解析速度有所下降,而 Ubuntu 18.04 从 1.5.8 升级到 1.6.7 时,DNS 解析速度慢了大约 20%:

    我已经有了大部分这些优化标志,而且我没有大量的并发,这是我使用的配置:

    server:
      access-control: 127.0.0.1 allow_snoop
      access-control: ::1 allow_snoop
      val-log-level: 1
      so-rcvbuf: 4m
      so-sndbuf: 4m
      key-cache-size: 128m
      msg-cache-size: 128m
      rrset-cache-size: 256m
      prefetch: yes
      prefetch-key: yes
    

    我主要尝试添加一些关于线程的内容,但没有帮助。重启后查看日志后,虽然我注意到了这个警告:

    so-sndbuf 4194304 was not granted. Got 425984. To fix: start with root permissions(linux) or sysctl bigger net.core.wmem_max(linux) or kern.ipc.maxsockbuf(bsd) values.
    so-rcvbuf 4194304 was not granted. Got 425984. To fix: start with root permissions(linux) or sysctl bigger net.core.rmem_max(linux) or kern.ipc.maxsockbuf(bsd) values.
    

    升级之前不存在,所以我尝试增加这些值:

    echo "net.core.rmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
    echo "net.core.wmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    sudo systemctl restart unbound
    

    之后不再发出警告,但性能仍然相同,比 1.5.8 慢 20%。我还没找到原因。

    【讨论】:

      【解决方案2】:

      事实证明,查询的绝对数量导致 unbound 速度变慢(没有优化)。 然后我实现了https://nlnetlabs.nl/documentation/unbound/howto-optimise/ 中概述的优化 并且查询时间显着下降。

      【讨论】:

        猜你喜欢
        • 2022-08-06
        • 2015-01-07
        • 2015-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-07
        • 1970-01-01
        • 2017-03-25
        相关资源
        最近更新 更多