通过 TCP 连接到 mysql 会挂起 3 秒

通过 TCP 连接到 mysql 会挂起 3 秒

我在新安装的 MySQL 系统中遇到了一个问题:

当尝试使用多个客户端访问数据库并进行多次重试时,偶尔会出现连接时间超过 3 秒的情况。我只有在尝试通过 tcp 连接时才会遇到这种情况(无论客户端是本地还是远程)。如果达到此状态,每一个连接(无论端口如何)都需要 3 秒。

我尝试在另一台服务器上重现这种行为,但旧数据库服务器和新从属服务器均未显示此行为(对我来说这没有任何意义,因为主服务器和从属服务器运行在相同的操作系统、相同的补丁级别、相同的数据库版本、相同的配置上...)

在互联网上搜索后,我找到了一封电子邮件的链接,其中准确描述了我的经历:http://www.mail-archive.com/[电子邮件保护]/msg02040.html,但我找不到任何解决方案。

有谁有经验可以解释这一点吗?

此致,

卡西

编辑:在有人问之前:这不是 DNS 问题,我们在每个新的 MySQL 安装中都将 skip-name-resolve 设置为默认值。

答案1

在服务器端,在 lo 和网络接口上运行 tcpdump。它显示什么?

这可能是身份验证中的一些问题 [ 例如服务器上的 ldap / nis 查找没有响应 ] 吗?

ps-也许你还没看过

编辑显然,在这种情况下,最后一个是解决方案。显然,当禁用 ipv6 时,内核 < ~2.6.24.5 存在一些错误,导致这种特定情况下出现 3 秒的延迟。

答案2

启用了 IPV6 吗?我见过类似的问题,并将其追溯到 IPV6。我记不清是怎么回事了,但它肯定在我的脑海中。

相关内容