共计 3224 个字符,预计需要花费 9 分钟才能阅读完成。
性能问题
这个世界是由问题组成的,现实的状态和理论状态之间的差别造成了问题。国家领导解决人民生存幸福的大问题,公司的总经理解决盈利的问题,而本书只想解决 MySQL 数据库性能这么一一个“小问题”。
从某种程度来说,MySQL 数据库性能优化的问题是 - 一个并行的问题,归根结底是锁和资源争用的问题。
- 数据库的性能优化首先是计算机系统的优化。数据库程序是运行在计算机系统上的应用程序,须要先优化的就是计算机系统。也就是说,让硬件尽量平衡,操作系统充分发挥硬件的全副性能,而数据库充分利用操作系统和文件系统提供的便当施展全副性能,而且防止资源的相互竞争。
- 数据库的性能优化其次是 SQL 语句的优化。下层 利用都通过 SQL 语句与数据库打交道,一条 SQL 语句为了获取数据能够有几十甚至上百种执行打算,数据库会通过优化器抉择更优的 SQL 执行打算,然而 MySQL 在执行打算上远远落后于商业数据库,甚至在一些方面相比 PostgreSQL 也差很多,那么怎么写出正确的 SQL 语句,防止 MySQL 抉择谬误的执行打算,以及怎么通过减少索引、设置参数让:MySQL 的执行打算更优,这就是优化 SQL 语句须要关怀的事件。
- 最初,数据库的性能优化最无效的是架构的优化。对于读多写少的应用程序,能够设计为读写拆散,把容许提早的读申请被动散发到备库; 对于秒杀型的业务,能够先在内存型 key-value 存储系统筛选再发往数据库长久化,防止对数据库的冲击; 对于汇总、聚合类的利用,能够采纳列式存储引擎或者专门的大数据平台; 对于监控类的利用,能够采纳时序数据库,等等。
以上三种优化思路贯通本书,这也是本书名为《千金良方: MySQL 性能优化金字塔法令》的原因。
内容介绍
MySQL 的炽热水平引人注目,如果须要理解 MySQL 的装置、启动、配置等基础知识,市面上相干的书籍已是车载斗量。本书则尽量深入细致地介绍 MySQL 的基本原理,以及性能优化的理论案例。
本书既有波及体系结构、PFS、I S、统计信息、复制、锁、InnoDB 等基础知识的铺垫(其实并不根底),又有泛滥案例详解,内容丰盛、翔实,是难得一见的 MySQL 性能优化参考书,倡议每位 DBA 以及从事 MySQL 相干利用开发的读者都读一读。
目录(本文内容较多,倡议大家急躁观看)
全书一共分为 3 篇: 根底篇、案例篇和工具篇。
因为篇幅限度小编,小编只在这里给大家展现目录及局部内容,有须要残缺文档的程序猿(媛)能够帮忙转发 + 关注,点此获取
“根底篇”
信息论认为打消一件事件的不确定性就是获取足够多的信息。咱们认为任何优化都能够从理解它的基本原理和设计思路开始。
“根底篇”从实践根底和基本原理层面介绍了 MySQL 的装置与配置、降级和体系结构,information_ schema、sys_ schema、performance_ schema 和 mysql_ _schema, MySQL 复制,MySQL 事务,SQL 语句优化及架构设计基础知识。心愿读者通过对这些内容的学习,可能深入细致地理解 MySQL 各方面的基础知识。
第 1 章 MySQL 初始化装置、简略平安加固
第 2 章 MySQL 常 用的两种降级办法
第 3 章 MySQL 体系结构
第 4 章 performance_ schema 初相识
第 5 章 performance schema 配置详解
第 6 章 performance_ schema 利用示例荟萃
第 7 章 sys 零碎库初相识
第 8 章 sys 零碎库配置表
第 9 章 sys 零碎库利用示例荟萃
第 10 章 information_ schema 初相识
第 11 章 information schema 利用示例荟萃
第 12 章 mysq| 零碎库之权限零碎表
第 13 章 mysq| 零碎库之拜访权限控制系统
第 14 章 mysq| 零碎库之统计信息表
第 15 章 mysq| 零碎库之 复制信息表
第 16 章 mysq| 零碎库之 日志记录表
第 17 章 mysq| 零碎库应 用示例荟萃
第 18 章复制技术的演进
第 19 章事务概念根底
第 20 章 InnoDB 锁
第 21 章 SQL 优化
第 22 章 MySQL 读写扩大
“案例篇”
因为篇幅限度小编,阿里 DBA 骨干团队编写的 792 页 MySQL 调优笔记的详解材料太全面,细节内容切实太多啦,所以只把局部知识点截图进去粗略的介绍,每个小节点外面都有更细化的内容!不会只有纲要和目录,有须要的程序猿(媛)能够帮忙转发 + 关注,点此获取
计算机是种试验的迷信,性能优化 是实战的艺术。
“ 案例篇”从硬件和零碎、MySQL 架构等方面给出了性能优化的十几个案例,包含: 性能测试的根本优化思路和最须要关注的性能指标解释、对日常 SQL 语句执行慢的根本定位、防止 x86 可用性的一般性办法、节能模式会怎么影响性能、IO 存储作为数据库最重要的依赖是如何影响数据库性能的、主备复制不统一可能有哪些起因、字符集不统一会造成哪些性能问题、在理论场景中锁的争用是怎么的。心愿读者通过这些案例,能够深入细致地了解“根底篇”中的各种概念,死记硬背,对 MySQL 有一个全面的、零碎的把握。
第 23 章性能测试指标和相干术语
第 24 章历史问题诊断和现场故障剖析
第 25 章性能调优金字塔
第 26 章 SQL 语句执行慢真假难辨
第 27 章如何防止三天两头换硬盘、内存、主板
第 28 章每隔 45 天的 MySQL 性能低谷
第 29 章 MySQL 连贯无奈主动开释
第 30 章查问 MySQL 偶然比较慢
第 31 章 MySQL 最多只容许 214 个连贯
第 32 章 MySQL 挂起诊断思路
第 33 章硬件和零碎调优
第 34 章并发删除数据造成死锁
第 35 章删除不存在的数据造成死锁
第 36 章插入意向锁死锁
第 37 章分页查问优化
第 38 章子查问优化——子查问转换为连贯
第 39 章子查问优化——应用 delete 删除数据
“工具篇”
“工欲善其事,必先利其器。”咱们日常须要借助 - 些工具来做性能优化。
“工具篇”介绍了在 MySQL 性能优化过程中须要用到的各种工具,包含: dmidecode、top、dstat 等 硬件和零碎排查工具;FIO、sysbench、HammerDB 等压力测试工具; mysqldump、XtraBackup 等备份工具; Percona、innotop、Prometheus 等监控工具。心愿读者能够借助更多自动化的形式去验证和评估性能优化解决方案,晋升性能。
第 40 章硬件规格罕用查看命令详解
第 41 章零碎负载罕用查看命令详解
第 42 章 FIO 存储性能压测
第 43 章 HammerDB 在线事务处理测试
第 44 章 sysbench 数据库压测工具
第 45 章 mysqladmin 和 innotop: I 具详解
第 46 章利用 Prometheus + Grafana 搭建炫酷的 MySQL 监控平台
第 47 章 Percona Toolkit 常用工具详解
第 48 章 MySQL 支流备份工 具之 mysqldump 详解
第 49 章 MySQL 支流备份工具之 XtraBackup 详解
第 50 章 MySQL 支流备份工 具之 mydumper 详解
第 51 章 MySQL 支流闪回工 具详解
读者对象
- MySQL 初学者。倡议依照程序从本书的“根底篇 ” 开始浏览。“根底篇 ” 介绍了从装置部署、根底配置到性能诊断等日常工作须要理解的内容。在相熟了 MySQL 的基本概念和大抵原理当前,在浏览 ” 案例篇”时,对问题的定义和解决方案能力了解得更加透彻。最初在浏览“工具篇”时,也能够学习到 MySQL DBA 日常工作所需工具的应用办法和利用场景。
- 专门从事 MySQL 工作 1~3 年的开发人员和运维人员。对于有一些 MySQL 开发和运维教训的人员,倡议先跳过“根底篇”,间接从“案例篇 ” 开始浏览。在“案例篇”中理解了具体的问题景象、故障解决的过程和办法当前,分割案例中对应的“根底篇 ” 和“工具篇 ” 常识进行浏览,这样能帮忙你把很多知识点串联起来,由点到面造成更为全面的 MySQL 常识体系。
- 资深的 MySQL DBA。本书能够作为案头书,在解决问题时,如果记不清某些概念或者细节比拟含糊,则能够拿来参考。
支付文章中的 792 页阿里 DBA 骨干团队编写的 MySQL 调优笔记,只须要:
——对文章将进行 转发 + 评论,关注我之后点此获取即可。