mysql dba新手上路


MySQL DBA新手上路 MySQL DBA如何快速融入角色 叶金荣 2015/04/23 about me • 叶金荣,网络常用ID:yejr • Oracle MySQL ACE • PHPer、SA、MySQL DBA • 2006年创办国内首个MySQL专业技术网站 http://imysql.com • 精通MySQL数据库,10年+MySQL相关工作 经验,擅长MySQL优化、架构设计、故障 处理 • 中国MySQL用户组(CMUG)副主席 http://imysql.com http://mysqlsupport.cn 2 about me • MySQL经历 - MySQl 3.32.0 ~ now(5.7) - 2000 ~ now - 2012, ORACLE ACE(MySQL) • Linux经历 - 蓝点Linux 2.0、TurboLinux、FreeBSD、Debian、 Ubuntu、Fedora、CentOS、RHEL http://imysql.com http://mysqlsupport.cn 3 about me • 工作经历 - 2003 ~ now - 3721,(奇虎360前身) - 亿邮,国内最专业邮件技术服务商 - 澳客,在线彩票 - 2007起,搜狐畅游 http://imysql.com http://mysqlsupport.cn 4 about me • 联系方式 - http://imysql.com - QQ群: 272675472、125572178、 373900864 - QQ:4700963 - Weibo: @叶金荣 - 微信公众号:MySQL中文网 - imysql@gmail.com http://imysql.com http://mysqlsupport.cn 5 大纲 1. 明白MySQL特点 2. DBA新人守则 3. 通用优化原则 http://imysql.com http://mysqlsupport.cn 6 1、明白MySQL特点 • 谁在MySQL http://imysql.com http://mysqlsupport.cn 7 1、明白MySQL特点 • 谁在MySQL http://imysql.com http://mysqlsupport.cn 8 1、明白MySQL特点 • MySQL分支版本 http://imysql.com http://mysqlsupport.cn 9 1、明白MySQL特点 • 几大引擎 - InnoDB,主力引擎 - TokuDB,高速写入使用,新明星 - Inforbright/InfiniDB,OLAP环境,新明星 - Memory,根据需要使用 - MyISAM,建议放弃 http://imysql.com http://mysqlsupport.cn 10 1、明白MySQL特点 • CPU多核支持 - <5.1,多核心支持较弱 - 5.1,可利用4个核 - 5.5,可利用24个核 - 5.6,可利用64个核 http://imysql.com http://mysqlsupport.cn 1、明白MySQL特点 • 内存管理 - 内存管理简单有效,不会特别复杂 - 类似ORACLE的SGA、PGA模式,高并发时PGA不宜分配过大 - 在高TPS、高并发环境下,增加物理内存以减少物理I/O,提高性能 - 锁并发竞争比较严重,在MariaDB、Percona中得到很好优化 - query cache基本是鸡肋,建议关闭 - 通常内存建议按热点数据总量的15%-20%来规划,专用单实例则可以分配 物理内存的50~70%左右 - 类似K-V简单数据,采用Redis、Memcached等NOSQL来缓存 http://imysql.com http://mysqlsupport.cn 1、明白MySQL特点 • I/O特点 - undo log的I/O特征:顺序写,随机读; - redo log、binlog的I/O特征:顺序写,顺序读; - 数据文件的I/O特征:随机写,随机读; - OLTP以随机I/O为主,加大内存以合并随机I/O为顺序I/O - OLAP以顺序I/O为主,加大内存、增加硬盘数量提高顺序I/O性能 - MyISAM是堆组织表(HOT),InnoDB是索引组织表(IOT) - InnoDB相比MyISAM更消耗磁盘存储空间 http://imysql.com http://mysqlsupport.cn 1、明白MySQL特点 • MySQL不足 - 无share pool,每个SQL都需要解析,幸好解析代价不高 - 不支持CBO,目前只有RBO,MySQL 5.6后有CBO规则介入 - 每个连接对应到一个线程 - 每个SQL只会使用到一个CPU核心上 - 随着连接数的增加性能下降严重,但Thread Pool拯救了世界 - MySQL 5.6后,优化子查询,增加ICP、MRR、BKA等多种特性 - 暂无hash join特性,MariaDB对此做了优化 - BI类复杂SQL支持不强,也没必要增强 http://imysql.com http://mysqlsupport.cn 2、DBA新人守则 • 并发 • 事务 • 锁 • 其他数据 • NOSQL • 软实力 • 基础管理 • SHELL、PHP、 Python • 体系结构 • 阵列卡 • 硬盘 计算机 硬件 Linux系 统管理 数据库 理论其他 http://imysql.com http://mysqlsupport.cn 15 2、DBA新人守则 • DBA职责 - 备份、恢复检查 - 监控、性能优化 - DB评审、改进建议 - 故障处理、预防 - DB运维自动化 - DB架构优化、设计 - 内部培训、交流 - 自我学习、成长 http://imysql.com http://mysqlsupport.cn 16 3、通用优化原则 • 定位瓶颈 - I/O - CPU - 内存 - I/O通常是最大瓶颈 • slowlog优化原则 - 先优化发生次数最高,以及总耗时最大的 - 其次优化单次耗时最大的 • 重要 - 确保MySQL有足够计算资源 - 优先用硬件解决优化工作 http://imysql.com http://mysqlsupport.cn 3、通用优化原则 • 硬件优化 - CPU - System Profile(系统配置)选择Performance Per Watt Optimized(DAPC),发挥最大功耗性能 - Memory Frequency(内存频率)选择Maximum Performance(最佳性能) - C1E,允许在处理器处于闲置状态时启用或禁用处理器切换至最低性能状 态,建议关闭(默认启用) - C States(C状态),允许启用或禁用处理器在所有可用电源状态下运行, 建议关闭(默认启用) - 关闭NUMA http://imysql.com http://mysqlsupport.cn 3、通用优化原则 • 硬件优化 - I/O - 使用SSD或者PCIe SSD盘,IOPW轻松达到数十万 - 阵列卡配备CACHE及BBU模块,提高IOPS - 设置写策略为WB,或者FORCE WB,禁用WT策略 - 关闭预读,没必要预读,那点宝贵的CACHE用来做写缓存 - 阵列级别使用RAID 1+0,而不是RAID 5 - 关闭物理磁盘cache策略,防止丢数据 - 使用高转速硬盘,不使用低转速盘 http://imysql.com http://mysqlsupport.cn 3、通用优化原则 • 系统层优化 - 内核参数 - vm.swappiness - vm.overcommit_memory - vm.dirty_ratio - vm.dirty_background_ratio - FS - deadline/noop - xfs - noatime, nobarrier http://imysql.com http://mysqlsupport.cn 3、通用优化原则 • MySQL配置参数 - thread_pool,如果支持的话 - innodb_buffer_pool_size - innodb_flush_log_at_trx_commit & sync_binlog - innodb_file_per_table - innodb_data_file_path - long_query_time - lower_case_table_names http://imysql.com http://mysqlsupport.cn 课程大纲 http://imysql.com http://mysqlsupport.cn 22 深入理解MySQL体系结构、内核 MySQL大型应用架构设计 全面优化MySQL 深入理解InnoDB 容量规划 性能测试 环境部署规范
还剩21页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

844700118

贡献于2016-11-19

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf