1、如何優化Linux操做系統用於MySQL環境?mysql
(一)初級玩法 sql
一、 在BIOS及內核層面關閉NUMA 服務器
二、在BIOS層面將CPU、內存均設置最大性能模式 app
三、在BIOS層面關閉CPU節能模式 memcached
四、修改IO Scheduler爲deadline 或 noop 工具
五、使用xfs文件系統,掛載選項noatime、nodiratime、nobarrier oop
六、在內核層面設置vm.swappiness<=5,vm.dirty_ratio<=10, vm.dirty_background_rati<=5 性能
七、在內核層面修改用戶可最大打開文件數和線程數爲65535 優化
八、禁用SWAP分區操作系統
(二)高端玩法
一、使用最新穩定Linux發行版
二、升級各個硬件設備到最新穩定firmware版本
三、使用SSD時,開啓TRIM功能,而且能夠的話文件系統block size和SSD對齊
四、當磁盤I/O存在瓶頸時,除了常規因素外,還須要關注中斷不均衡的可能性
2、MySQL 8.0 InnoDB哪些新特性你最期待,爲何?
一、數據字典所有采用InnoDB引擎存儲,支持DDL原子性、crash safe,metadata管理更完善
二、快速在線加新列(騰訊互娛DBA團隊貢獻)
三、並行redo log,並提高redo log的I/O性能
四、新增倒序索引
五、加強CBO特性
六、消除了buffer pool mutex(Percona的貢獻)
七、自增ID持久化
八、行鎖增長SKIP LOCKED和NOWAIT特性選項
九、新增事務CATS特性,大大提高事務性能(Michigan大學貢獻)
十、memcached plugin加強
十一、加強JSON性能、功能
十二、新增智能選項 innodb_dedicated_server
3、MySQL hang的緣由有哪些?
一、MySQL使用資源太高致使服務器太累扛不住。例如CPU、內存、 I/O等開銷。
二、磁盤無可用空間。
三、MySQL頻繁的建立和銷燬鏈接。
四、MySQL使用的最大文件打開數和鏈接數,超過了操做系統的限制。
五、MySQL的鎖不能有效的釋放。例如持有行鎖或者表鎖,形成了MDL等待。
六、MySQL的bug致使的。
致使MySQL hang住的緣由有不少,不侷限於上述因素,還須要機智的你來挖掘。
4、專訪王曉偉老師,MySQL數據導入數據倉庫(Hadoop)有哪幾種方式?
一、傳統方式,採用mysqldump等工具將數據文件上傳至HDFS
二、使用Sqoop Kettle等ETL工具,將數據表對應導入Hive的數據表
三、使用kafka+flume方案,將mysql binlog經過流式採集的方式導入Hadoop
四、設計實現Hive的快照表、增量表、全量表,實現MySQL到Hive數據的增量導入,並支持分庫分表等特性。
公衆號:知數堂,更多MySQL乾貨知識,關注公衆號獲取。
原文連接:https://zhishutang.com/B0b
推薦閱讀:https://zhishutang.com/xdI