远程 Mysql 连接需要 5 秒才能建立

远程 Mysql 连接需要 5 秒才能建立

设置如下,Ubuntu 8.04 服务器在 DMZ 中运行 Mysql 5

来自 DMZ 之外的 Windows 计算机上的 php 的远程连接需要 5 秒钟才能建立(此时 mysql 的速度很快),来自本地主机的连接是“即时”的

对我来说,这听起来像是一个标准的 DNS 问题,因此我启用了 skip-name-resolve 并确认它正在工作(错误文件记录了跳过的用户条目),但我们仍然看到 5 秒的延迟。我还尝试将客户端(netbios 名称,对吗?)添加为 hosts 文件中的条目,但问题仍然存在

我运行了 tcpdump,从我收集到的信息来看,它似乎正在尝试进行 netbios 查找(尽管我对读取 tcpdump 毫无经验!)我猜想它失败了,因为这个服务器是 DMZ 中唯一的服务器

我有点困惑下一步该去哪儿。

答案1

呵呵。有趣的问题。

查看 /etc/nsswicth.conf - 此文件确定系统数据库(用户、密码、主机等)的查找顺序。hosts:行应类似于hosts: files dns <everything else>。您也可以尝试删除<everything else>

答案2

5 秒的时间恰好可以将名称解析(无论是在服务器还是客户端上直接解析还是反向解析)确定为可能的罪魁祸首。例如,ping 是否表现出相同的行为?

相关内容