美文网首页Linux学习|Gentoo/Arch/FreeBSDMySQL
如何优化Linux操作系统用于MySQL环境?

如何优化Linux操作系统用于MySQL环境?

作者: 小知_知数堂 | 来源:发表于2019-11-08 10:35 被阅读0次

    目录

    如何优化Linux操作系统用于MySQL环境?

    MySQL 8.0 InnoDB哪些新特性你最期待,为什么?

    MySQL hang的原因有哪些?

    专访王晓伟老师,MySQL数据导入数据仓库(Hadoop)有哪几种方式?

    一、如何优化Linux操作系统用于MySQL环境?

    (一)初级玩法

    1、 在BIOS及内核层面关闭NUMA

    2、在BIOS层面将CPU、内存均设置最大性能模式

    3、在BIOS层面关闭CPU节能模式

    4、修改IO Scheduler为deadline 或 noop

    5、使用xfs文件系统,挂载选项noatime、nodiratime、nobarrier

    6、在内核层面设置vm.swappiness<=5,vm.dirty_ratio<=10, vm.dirty_background_rati<=5

    7、在内核层面修改用户可最大打开文件数和线程数为65535

    8、禁用SWAP分区

    (二)高端玩法

    1、使用最新稳定Linux发行版

    2、升级各个硬件设备到最新稳定firmware版本

    3、使用SSD时,开启TRIM功能,并且可以的话文件系统block size和SSD对齐

    4、当磁盘I/O存在瓶颈时,除了常规因素外,还需要关注中断不均衡的可能性

    二、MySQL 8.0 InnoDB哪些新特性你最期待,为什么?

    1、数据字典全部采用InnoDB引擎存储,支持DDL原子性、crash safe,metadata管理更完善

    2、快速在线加新列(腾讯互娱DBA团队贡献)

    3、并行redo log,并提升redo log的I/O性能

    4、新增倒序索引

    5、增强CBO特性

    6、消除了buffer pool mutex(Percona的贡献)

    7、自增ID持久化

    8、行锁增加SKIP LOCKED和NOWAIT特性选项

    9、新增事务CATS特性,大大提升事务性能(Michigan大学贡献)

    10、memcached plugin增强

    11、增强JSON性能、功能

    12、新增智能选项 innodb_dedicated_server

    三、MySQL hang的原因有哪些?

    1、MySQL使用资源过高导致服务器太累扛不住。例如CPU、内存、 I/O等开销。

    2、磁盘无可用空间。

    3、MySQL频繁的创建和销毁连接。

    4、MySQL使用的最大文件打开数和连接数,超过了操作系统的限制。

    5、MySQL的锁不能有效的释放。例如持有行锁或者表锁,造成了MDL等待。

    6、MySQL的bug导致的。

    导致MySQL hang住的原因有很多,不局限于上述因素,还需要机智的你来挖掘。

    四、专访王晓伟老师,MySQL数据导入数据仓库(Hadoop)有哪几种方式?

    1、传统方式,采用mysqldump等工具将数据文件上传至HDFS

    2、使用Sqoop Kettle等ETL工具,将数据表对应导入Hive的数据表

    3、使用kafka+flume方案,将mysql binlog通过流式采集的方式导入Hadoop

    4、设计实现Hive的快照表、增量表、全量表,实现MySQL到Hive数据的增量导入,并支持分库分表等特性。

    相关文章

      网友评论

        本文标题:如何优化Linux操作系统用于MySQL环境?

        本文链接:https://www.haomeiwen.com/subject/chjibctx.html