DNS Resolver Slow/Broken?

I’m using Audience and I’m investigating why initial page load seems to be so slow. It seems that the RouterOS DNS server is slow and/or missing queries.

Relevant config snippets:

/system routerboard print
       routerboard: yes
        board-name: Audience
             model: RBD25G-5HPacQD2HPnD
     serial-number: BB0C0B6B7926
     firmware-type: ipq4000
  factory-firmware: 6.45.4
  current-firmware: 6.48.3
  upgrade-firmware: 6.48.3
/ip dhcp-client
add comment=defconf disabled=no interface=ether1 use-peer-dns=no use-peer-ntp=no
/ip dhcp-server network
add address=172.16.44.0/24 dns-server=172.16.44.1 gateway=172.16.44.1 netmask=24
/ip dns
set allow-remote-requests=yes max-concurrent-queries=1000 max-concurrent-tcp-sessions=200 query-server-timeout=200ms servers=8.8.8.8,8.8.4.4

The symptom is that many page loads stall at first for ~1-2 seconds before finally loading, and occasionally Chrome reports that a page cannot be resolved at all, and then immediately (~1s) automatically reloads and it works.

At first I suspected that my ISP was intercepting DNS traffic and performing some trickery. But if I set my computer manually to use Google Honest DNS (bypassing the RouterOS DNS resolver), there are no problems.

Additionally, if I change the RouterOS DHCP config to give Google Honest DNS addresses to the clients instead of using the RouterOS resolver, the problems are also solved.

Therefore, I can only conclude that there is a problem with the RouterOS DNS resolver.

I have no firewall rules that would affect DNS.

Has anyone else noticed this problem lately?

Why you have the nice idea to short DNS query timeout from 2 seconds to 0,2 seconds?
(and default max-concurrent-queries from 100 to 1000 and max-concurrent-tcp-sessions from 20 to 200?)

If you put random numbers on config, you must expect random behavior.

Aha, thanks for noticing that. I made these changes in an attempt to figure out the problem.

The changes are not the cause of the problem, but I will revert those settings to default.

FYI, I have solved this problem on a different network and router (hap ac3) by doing the same thing: using DHCP to push Google Honest DNS directly to the clients instead of using the RouterOS resolver.

There is definitely something wrong with the Router OS DNS resolver.

Couldn’t help but notice DNS resolver fixes in the 6.48.4 release.

I haven’t reverted back to the internal resolver yet, but I will soon and report back.

Was it ever determined if the RouterOS resolver has an issue? I’m experiencing the slowness/delay, as well.

I forgot to report back. I went back to the internal resolver on 6.48.4 about 10 days ago and it has been working fine for me now.

I had same problem! Memory was full. I had zeroes in red square on picture. I had to delete everything I could delete from internal flash manually. 100KB was freed. After that I reset mikrotik. And problem solved!