《叶问》第4期

Posted yzs的专栏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《叶问》第4期相关的知识,希望对你有一定的参考价值。


2018年7月4日,周三

如何优化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存在瓶颈时,除了常规因素外,还需要关注中断不均衡的可能性‍‍‍‍‍‍‍‍‍‍‍‍‍‍



2018年7月5日,周四

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




2018年7月10日,周二

 MySQL hang的原因有哪些? 


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

2. 磁盘无可用空间。 

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

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

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

6. MySQL的bug导致的。 

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




2018年7月12日,周四

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


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

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

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

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



以上是关于《叶问》第4期的主要内容,如果未能解决你的问题,请参考以下文章

《叶问》31期,MySQL中如何查询某个表上的IS(意向共享)锁

《叶问》35期,binlog解析出来的日志为何无法恢复

《叶问》32期,一样的Python代码,为什么可以删表,却不能更新数据

《叶问》37期,三节点的MGR集群关掉两个节点后还能继续读写吗

《叶问》36期,MySQL最多只能用到128个逻辑CPU,是真的吗

《叶问》38期,MGR整个集群挂掉后,如何才能自动选主,不用手动干预