性能问题
这个世界是由问题组成的,现实的状态和理论状态之间的差别造成了问题。国家领导解决人民生存幸福的大问题,公司的总经理解决盈利的问题,而本书只想解决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调优笔记,只须要:
——对文章将进行转发+评论,关注我之后点此获取即可。