mysql磁盘瓶颈_因为磁盘io瓶颈导致mysql当机的问题 | 学步园

昨天晚上因为连续重建一些大表(每张表数据量都过一亿),导致其中有一个备库(使用的是普通的sas盘)崩溃,情况如下:

94af140eee864d380bdf6ff3a38769ea.png

可见是io问题,查看错误号105 ,对应的错误信息为:

OS error code 105:  No buffer space available

原来是缓存不够用,查看缓存的情况:

46f7fa55ec1a2ab0c168f6da0cad5dea.png

该服务器上因为多实例部署故该数据库buffer_pool只分配了大概16G的内存,事物写入模式innodb_flush_log_at_trx_commit 设置为2,即写内核buffer具体刷盘取决于系统每秒的调度情况。

故初步判断因为系统每秒刷盘的速度比写入buffer的速度要慢久而久之导致buffer内存不足,而buffer和cache不一样无法进行swap,即最终mysql因为刷盘太慢导致buffer耗尽而崩溃。

关闭一些其他实例,然后重启该数据库,查看系统io情况:

325c3a7e3ca118d951b8c2dbdd10ad44.png

果然磁盘使用率已经达到了饱和,sas盘性能太不给力的问题导致io使用率一直巨高。之后的一些表也不敢重建,等备库追上主库再说吧。

ps : 以上分析仅仅是个人见解,不一定正确仅供参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值