MySQL性能调优与架构设计读书笔记

2020-03-27  本文已影响0人  求索

简单、高效、可靠

使用场景

MySQL文件

MySQL逻辑模块

数据引擎

MySQL的插件式存储引擎主要包括MyISAM、InnoDB、NDB Cluster、Maria、Falcon、Memory、Archive、Merge、Federated等,其中最著名而且使用最为广泛的是MyISAM和InnoDB两种存储引擎。MyISAM是MySQL最早的ISAM存储引擎的升级版本,也是MySQL默认的存储引擎。

性能优化关键因素

性能三大指标

最大的性能瓶颈就是在于磁盘IO,也就是数据的存取操作上面。

CPU损耗在于计算,比如sort,groupby等。而记录行数损耗的是io,比如查询100条记录主要消耗的是io。

iops与吞吐量

可以通过内存与加载缓解io瓶颈,原理:内存读取总比磁盘块。

infodb 缓存配置

schema设计

infodb

对于InnoDB的存储引擎,如果使用的是共享表空间来存储数据,那么须要打开的文件描述符就比较少,而如果使用的是独享表空间方式来存储数据,由于存储表数据的数据文件较多,则同样会打开很多的表文件描述符。除了数据库的实际表或索引打开时须要使用文件描述符以外,临时文件同样也须要,因此同样会占用系统中open_files_limit的设置限额。

table_open_cache = max_connections * N

这个N为执行Query时,Query所包含的Table的个数也并不是太合适,因为不能忽略索引文件的打开。虽然索引文件描述符在各个连接线程之间是可以共享的,但至少每个索引文件总还是需要一个的。

其它搜索引擎优化

搜索引擎优化主要针对配置优化,可以先看系统配置参数,然后再修改调整

show variables like '%buffer%';

profile

SET profiling=1;
show profiles;
show profile cpu, block io for query 6;
show profile ✘✘✘ for query 6;
上一篇 下一篇

猜你喜欢

热点阅读