在两个docker容器(1.8.32)中的两个mysql(5.6.20)实例,主备之间建立半同步复制,然后用户总是在master中进行一些dml或ddl操作。
10天或更长时间后,所有连接到slave的客户端都将挂起
gdb -p/strace从mysqld进程挂起
pstack/perf top -p从mysqld进程不显示任何内容
kill -9不会终止mysqld进程
docker停止不会停止docker容器
哪些工具或方法可以帮助定位问题?
发布于 2016-11-18 11:16:55
我今天也遇到了同样的情况。在我的例子中,使用docker compose打开mysql和一系列消费者,使用来自docker hub的最新mysql镜像。(5.7.16-1debian8)
我已经启动了许多这样的实例,在一周内,我看到了几个实例,mysql有超过100个线程,主机上的所有内存都被消耗了,容器也挂起了。我不能阻止任何事情,我甚至不能重启。只有虚拟机的电源循环才能恢复。
我会试着监控的。我怀疑它高度依赖于基础架构负载(缓慢的VM主机会导致缓慢的查询备份)。解决方案更有可能是mysql调优和docker bug。
https://stackoverflow.com/questions/40646933
复制相似问题