![DNS 减慢其他服务器的速度](https://linux22.com/image/623612/DNS%20%E5%87%8F%E6%85%A2%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E9%80%9F%E5%BA%A6.png)
我设置了一个本地 DNS 服务器(因为我们的 ISP 的路由器不支持本地 DNS),并将其配置为解析静态 IP 地址,并将其他请求转发到 ISP 路由器。因此 DNS 工作正常,但现在尝试连接到服务器上其他服务的其他客户端需要大量时间才能连接。例如 sshd 和 apt-cacher 非常慢。而 ssh 在其他服务器上运行良好且快速。因此,似乎服务器太慢,无法运行那么多服务。
因此,最终的问题是:我怎样才能找出导致速度如此缓慢的原因?
服务器在 Debian jessie 上运行。DNS 服务器是 bind9。
在对系统日志进行一些研究之后,我发现 bind9 抛出了一堆错误,类似以下形式:
Dec 28 18:36:18 cache named[3878]: DNS format error from 192.168.2.1#53 resolving www.arcor-online.net/A for client 192.168.2.3#48110: reply has no answer
Dec 28 18:36:18 cache named[3878]: error (FORMERR) resolving 'www.arcor-online.net/A/IN': 192.168.2.1#53
答案1
我不确定您在这里所说的“ISP 的路由器服务器”是什么意思。路由器通常不是 DNS 服务器。
但是,您可以尝试ssh -v
查看延迟是发生在远程端还是发生在客户端。另外,检查 BIND 9 日志以查看它是否报告了任何问题。
除此之外,通过使用命令来查看事情是否正确解决,dig @127.0.0.1 flame.org. SOA
以确保您的本地 DNS 对您无权管理的名称有效,如果不查看配置、网络跟踪或调试日志,我就无法提供更多帮助。
答案2
问题与我预期的完全不同。在配置 bind9 并担心如何构建围绕服务器的网络时,我更改了服务器的 IP 地址,却忘记更改 /etc/resolv.conf 中的名称服务器。这意味着服务器尝试联系一个空 IP 并停止,直到请求超时。
答案3
查看系统的处理器、内存和存储利用率可能会很有用。
一个有用的入门命令可能是:
ps auxf | sort -nr -k 3 | head -10
您还可以使用工具来查看进程是否正在等待缓慢或过度访问的存储,例如:
vmstat 3
即使您认为自己的硬件水平已经远远超过了预期,了解一下基础知识也是很重要的。
与往常一样,确保您正在运行 Debian 的最新更新,以确保您不会受到错误或安全漏洞的影响。