MySQL 优化实施方案( 三 )

  • Swap 调整(不使用 swap 分区)
  •  
    MySQL 优化实施方案

    文章插图
     
     
    这个参数决定了 Linux 是倾向于使用 swap,还是倾向于释放文件系统 cache 。在内存紧张的情况下,数值越低越倾向于释放文件系统 cache 。当然,这个参数只能减少使用 swap 的概率,并不能避免 Linux 使用 swap 。
    修改 MySQL 的配置参数 innodb_flush_method,开启 O_DIRECT 模式 。这种情况下,InnoDB 的 buffer pool 会直接绕过文件系统 cache 来访问磁盘,但是redo log 依旧会使用文件系统 cache 。值得注意的是,Redo log 是覆写模式的,即使使用了文件系统的 cache,也不会占用太多 。
    IO 调度策略:
    MySQL 优化实施方案

    文章插图
     
     
    5. 系统参数调整
    Linux 系统内核参数优化:
    MySQL 优化实施方案

    文章插图
     
     
    用户限制参数(MySQL 可以不设置以下配置):
    MySQL 优化实施方案

    文章插图
     
     
    6. 应用优化
    业务应用和数据库应用独立,防火墙:iptables、selinux 等其他无用服务(关闭):
    MySQL 优化实施方案

    文章插图
     
     
    安装图形界面的服务器不要启动图形界面 runlevel 3,另外,思考将来我们的业务是否真的需要MySQL,还是使用其他种类的数据库 。用数据库的最高境界就是不用数据库 。《
    六、数据库优化
    SQL 优化方向:
    执行计划、索引、SQL 改写
    架构优化方向:
    高可用架构、高性能架构、分库分表
    1. 数据库参数优化
    调整:
    实例整体(高级优化,扩展)
    MySQL 优化实施方案

    文章插图
     
     
    连接层(基础优化)
    设置合理的连接客户和连接方式
    MySQL 优化实施方案

    文章插图
     
     
    SQL 层(基础优化)
    • query_cache_size: 查询缓存
    • OLAP 类型数据库,需要重点加大此内存缓存
    • 但是一般不会超过 GB
    • 对于经常被修改的数据,缓存会立马失效
    • 我们可以实用内存数据库(redis、memecache),替代他的功能
    2.存储引擎层(innodb 基础优化参数)
     
    MySQL 优化实施方案

    文章插图
     
     
     
    随着系统用户量的不断增加,MySQL 索引的重要性不言而喻,对于后端工程师,只有在了解索引及其优化的规则,并应用于实际工作中后,才能不断的提升系统性能,开发出高性能、高并发和高可用的系统 。




    推荐阅读