如何優化Linux操做系統用於MySQL環境?

目錄

  • 如何優化Linux操做系統用於MySQL環境?
  • MySQL 8.0 InnoDB哪些新特性你最期待,爲何?
  • MySQL hang的緣由有哪些?
  • 專訪王曉偉老師,MySQL數據導入數據倉庫(Hadoop)有哪幾種方式?

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

相關文章
相關標籤/搜索