《叶问》第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月5日,周四
MySQL hang的原因有哪些?
1、MySQL使用资源过高导致服务器太累扛不住。例如CPU、内存、 I/O等开销。
2、磁盘无可用空间。
3、MySQL频繁的创建和销毁连接。
4、 MySQL使用的最大文件打开数和连接数,超过了操作系统的限制。
5、MySQL的锁不能有效的释放。例如持有行锁或者表锁,造成了MDL等待。
6、MySQL的bug导致的。
7、导致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数据的增量导入,并支持分库分表等特性。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
首次公开!单日600PB的计算力--阿里巴巴EB级大数据平台的进击
作者:阿里巴巴计算平台 高级技术专家 迎辉 MaxCompute作为阿里巴巴的主力计算平台,在2018年的双11中,再次不负众望,经受住了双11期间海量数据和高并发量的考验。为集团的各条业务线提供了强劲的计算力,不愧是为阿里巴巴历年双11输送超级计算力的核武器。 本文为大家介绍,MaxCompute基于多集群部署的几万台服务器,如何为集团急剧增长的业务提供护航和保障。 挑战 每年的双11之前,也是MaxCompute各种乾坤大挪移落定的时候,因为双11就是各种大折腾项目的自然deadline。在今年双11之前,一路向北迁移和在离线混部项目,将杭州集群除蚂蚁外整体迁移到张北,涉及了绝大部分的业务project、数据存储和计算任务,为今年双十一大数据计算服务的保障带来了挑战。 体量 现在MaxCompute包括在离线混部集群在内有几万台服务器,
-
下一篇
Spark基本的RDD算子之groupBy,groupByKey,mapValues
1.groupby def groupBy[K: ClassTag](f: T => K): RDD[(K, Iterable[T])] def groupBy[K: ClassTag](f: T => K, numPartitions: Int): RDD[(K, Iterable[T])] def groupBy[K: ClassTag](f: T => K, p: Partitioner): RDD[(K, Iterable[T])] groupBy算子接收一个函数,这个函数返回的值作为key,然后通过这个key来对里面的元素进行分组。 val a = sc.parallelize(1 to 9, 3) a.groupBy(x => { if (x % 2 == 0) "even" else "odd" }).collect //返回的even或者odd字符串作为key来group RDD里面的值, res42: Array[(String, Seq[Int])] = Array((even,ArrayBuffer(2, 4, 6, 8)), (odd,A...
相关文章
文章评论
共有0条评论来说两句吧...

微信收款码
支付宝收款码