Несвязанные - домены кэшируются только на короткое время

Недавно я настроил Unbound для кэширования DNS вместе с DNScrypt на Linux Mint 18.1. Это работает, но я заметил, что страницы кэшируются только на короткое время:

  1. Первый запрос к google.com - 48 мс (домен не кэширован)
  2. Второй запрос к google.com (сразу после этого) - 0 мс (домен кеширован)
  3. Третий запрос к гуглу. com (через ~ минуту) - 46 мс (домен не кэшируется)

Это предполагаемое поведение, или мне нужно установить что-то другое для кеширования страниц на более длительное время? Вот моя несвязанная конфигурация (/etc/unbound/unbound.conf): #

 Unbound configuration file for Debian.
    #
    # See the unbound.conf(5) man page.
    #
    # See /usr/share/doc/unbound/examples/unbound.conf for a commented
    # reference config file.age
    #
    # The following line includes additional configuration files from the
    # /etc/unbound/unbound.conf.d directory.
    include: "/etc/unbound/unbound.conf.d/*.conf"
    server:
        verbosity: 1
        num-threads: 4
        outgoing-range: 8192
        so-rcvbuf: 4m
        so-sndbuf: 4m
        so-reuseport: yes
        msg-cache-size: 50m
        msg-cache-slabs: 16
        num-queries-per-thread: 4096
        rrset-cache-size: 100m
        rrset-cache-slabs: 16
        infra-cache-slabs: 16
        do-ip4: yes
        do-ip6: no
        do-udp: yes
        do-tcp: yes
        do-daemonize: yes
        hide-identity: yes
        hide-version: yes 
        harden-short-bufsize: yes
        harden-large-queries: yes
        harden-glue: yes
        harden-dnssec-stripped: yes
        harden-below-nxdomain: yes
        harden-referral-path: yes
        logfile: "/etc/unbound/unbound.log"
        use-caps-for-id: yes
        do-not-query-localhost: no
        prefetch: no 
    forward-zone:
        name: "."
        forward-addr: 127.0.0.1@40
3
задан 12 February 2017 в 21:09
2 ответа

Несвязанный будет (или, по крайней мере, должен) кэшировать результат на время, указанное в TTL для записи, которую вы запрашиваете.

Это именно то, что я наблюдайте за системой, которая работает без привязки. Первоначальный запрос занимает 14 мс, последующие запросы - 0 мс, а по истечении срока действия следующего запроса - 14 мс.

Первоначальный запрос, который показывает значение TTL 300 секунд и занимает 18 мс.

;; ANSWER SECTION:
google.com.             300     IN      A       172.217.20.46

;; Query time: 18 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:39:30 2017
;; MSG SIZE  rcvd: 44

Последующие запросы - TTL отсчитывается и занимает 0 мс

;; ANSWER SECTION:
google.com.             196     IN      A       172.217.20.46

;; Query time: 0 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:41:14 2017
;; MSG SIZE  rcvd: 44

Срок действия TTL истек, поэтому выполняется еще один восходящий запрос 23 мс

;; ANSWER SECTION:
google.com.             300     IN      A       172.217.20.46

;; Query time: 23 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:44:37 2017
;; MSG SIZE  rcvd: 44
3
ответ дан 3 December 2019 в 06:28

Я очень опаздываю на вечеринку, но, насколько я понимаю, если вы хотите иметь "почти постоянное кэширование", вам следует включить опцию prefetch.

   prefetch: <yes or no>
          If yes, message cache elements are prefetched before they expire
          to keep the cache up to date.  Default is  no.   Turning  it  on
          gives about 10 percent more traffic and load on the machine, but
          popular items do not expire from the cache.
0
ответ дан 23 April 2021 в 13:03

Теги

Похожие вопросы