在对我们的应用程序进行性能测试时,我发现在极端负载下可能会出现的一个问题是偶尔出现 mysql 连接错误(即在这个阶段,我认为称其为错误是不公平的)。最终应用程序将被 mysql 阻止。我可以延长SET GLOBAL max_connect_errors=10000;
(目前为 10),但假设 mysql 在很长一段时间内 100% 正常运行,这个问题最终会再次出现吗?
这是mysql的“blocked-host”功能:
如果没有主动干预,连接错误计数是否会刷新或者下降?
更新
我发现了一些相互矛盾的信息,Percona 建议使用非常高的限制(“大约 1000000 是好的”),这意味着不行。但在文档的其他地方只指出连续错误会被计数,这意味着一次成功的连接将会刷新错误计数。
如果出现太多此类情况依次来自给定主机的未成功连接,服务器将阻止来自该主机的进一步连接。max_connect_errors 系统变量决定在发生阻止之前允许的错误数
是否有人在运行 mysql 5.6.5,其中 host_cache 被暴露或明确知道?
答案1
是的,他们是连续连接错误
答案2
mysql 连接错误计数是否会刷新?
不可以。客户端主机将被阻止,直到您执行mysqladmin flush-hosts
命令或者重新启动 MySQL 服务器。