• 消除高流量导致的MySQL瓶颈


    消除高流量导致的MySQL瓶颈

    1.扩展云实例的大小

      如果是云上,或虚拟化环境。扩大实例的大小通常是最便捷的方法。

    2.部署更多的主从复制

      如果是读多的负载,可以部署更多的从库,来提升性能。

      仅仅部署主从复制还不够,你需要确定你的应用可以支持。有些应用可能需要借助ProxySQL等产品。

    3.部署ProxySQL管理连接池和缓存

    4.减少高负载的应用程序

    5.检查资源使用的瓶颈

      cpu、io、网络、磁盘等

    6.更多或更高的CPU

    7.增加内存

      如何确认内存是否够了?通过pmm查看你的内存使用和i/o活动。

      io活动通常是我第一要看的项

    img

      如图,如果没有read io,说明你所有的数据都被缓存了,要么是mysql缓存、要么是操作系统的缓存。

      但是写活动,即使都是在写缓存也不会被忽略,因为写活动最终是要写入磁盘的。

    8.换到更快的存储

      如果pmm监控中

    img

      innodb pending fsnycs接近1,则表明磁盘刷新遇到了瓶颈。

    9.检查网络

      当确认网络是否是瓶颈时,需要查看带宽、网络延迟、网络错误等。

      网络延迟可以使用ping、mtr等工具

    img

    10.查询优化

    11.添加索引

    12.删除不使用的索引

      pt-duplicate-key-checker

    13.调整mysql的配置

    14.清理不使用的数据

      Pt-archiver

    15.恰当的数据库维护

      optimize table

      mysqlcheck -optimize -A

    16.检查后台任务

    17.检查热点数据

      看看哪些数据上锁较多,哪些对象产生了回滚较多

    18.正确地配置应用

  • 相关阅读:
    如何解决无法成功git commit 和git push
    orleans 项目调试注意
    silo 主机 配置
    asp.net core 项目引用包版本问题
    C# async 方法怎么被正确的消费 (新篇)
    C# 虚方法 复习
    C# dynamic 适用场景进一步说明
    [MySQL]
    C# Subject 观察者模式
    C# 协变与逆变
  • 原文地址:https://www.cnblogs.com/abclife/p/15972354.html
Copyright © 2020-2023  润新知