一次容器MySQL的性能问题排查

来源:这里教程网 时间:2026-03-01 16:08:58 作者:

最近两天一套生产MySQL集群出现了性能问题。业务侧的同事通过pinpoint监控,发现某几个时间点出现大量的超时/慢SQL。我们通过dodba监控能看到慢查询集中在几秒钟内,而不是一直都慢,当时的活动线程数也有飙升。 首先怀疑是否是某个账号的定时任务。对慢查询日志中账号/库名的出现次数进行统计: 也就是说,业务较为繁忙的库都出现了慢查询。更进一步查看,会发现大量主键查询、insert操作都很慢。并且出现的时间也不是完全规律性的。因此排除了定时任务的可能性。 对资源使用情况进行分析,CPU和内存都在正常范围内,频繁出现磁盘使用率100%的问题。通过prometheus看到所在物理机上各个容器的CPU和内存使用率正常,但某个容器的“容器交换空间使用量”存在波动,且波形与我们的性能问题基本吻合。 找到对应的同事询问启动时间,与问题开始的时间也能对上,算是基本确认原因了。由于这是一个日志收集的组件,且不能进行限速,找领导申请停的话大概率也是不同意的,暂定数据库问题的处理方式为:

    择机将MGR集群的主节点切换到其他不繁忙的物理机上

    申请停机窗口,将该套MySQL迁移到物理机上,避免资源争用造成问题

相关推荐