第九章 性能调优 阅读总结

        性能优化不是一项简单的工作, 但也不是复杂的难事, 关键在于对InnoDB存储引擎特性的了解。 如果之前各章的内容读者已经完全理解并掌握了, 那就应该基本掌握了 如何使InnoDB存储引擎更好地工作。 本章将从以下几个方面集中讲解InnoDB存储引擎 的性能问题:

选择合适的CPU

内存的重要性

硬盘对数据库性能的影响

合理地设置RAID

操作系统的选择也很重要

不同文件系统对数据库的影响

选择合适的基准测试工具

9.1 选择合适的CPU

        用户首先需要清楚当前数据库的应用类型。 一般而言, 可分为两大类: OLTP (Online Transaction Processing, 在线事务处理) 和OLAP (Online Analytical Processing, 在线分析处理)。 这是两种截然不同的数据库应用。 OLAP多用在数据仓库或数据集市中, 一般需要执行复杂的SQL语句来进行查询; OLTP多用在日常的事物处理应用中, 如银行交易、 在线商品交易、 Blog、 网络游戏等应用。 相对于OLAP,数据库的容量较小。

InnoDB存储引擎一般都应用于OLTP的数据库应用, 这种应用的特点如下: 

用户操作的并发拭大

事务处理的时间一般比较短

查询的语句较为简单, 一般都走索引

复杂的查询较少

        可以看出, OLTP的数据库应用本身对CPU的要求并不是很高, 因为复杂的查询可 能需要执行比较、 排序、 连接等非常耗CPU的操作, 这些操作在OLTP的数据库应用中较少发生。 因此, 可以说OLA P是CPU密集型的操作, 而OLTP是IO密集型的操作。 建议在采购设备时, 将更多的注意力放在提高IO的配置上。

        从InnoDB存储引擎的设计架构上来看, 其主要的后台操作都是在一个单独的master thread中完成的, 因此并不能很好地支持多核的应用。 当然, 开源社区已经通过多种方法来改变这种局面, 而InnoDBl.0版本在各种测试下已经显示出对多核CPU的处理性能的支持有了极大的提高, 而lnnoDB 1.2版本又支持多个purge线程, 以及将刷新操作从 master thread中分离出来。 因此, 若用户的CPU支持多核, InnoDB的版本应该选择I.I或更高版本。 另外, 如果CPU是多核的, 可以通过修改参数innodb_read_io_ threads和innodb _write_ io _ threads来增大IO的线程, 这样也能更充分有效地利用CPU的多核性能。

9.2 内存的重要性

        lnnoDB存储引擎既缓存数据, 又缓存索引, 并且将它们缓存于一个很大的缓冲池中, 即InnoDB Buffer Pool。 因此, 内存的大小直接影响了数据库的性能。

9.3 硬盘对数据库性能的影响

9.3.1 传统机械硬盘

        传统机械硬盘最大的问题在于读写磁头,读写磁头的设计使硬盘可以不再像磁带一样,只能进行顺序访问,而是可以随机访问。但是,机械硬盘的访问需要耗费长时间的磁头旋转和定位来查找,因此顺序访问的速度要远高于随机访问。传统关系数据库的很多设计也都是在尽 盘充分地利用顺序访问的特性。

        通常来说,可以将多块机械硬盘组成RAID来提高数据库的性能,也可以将数据文 件分布在不同硬盘上来达到访问负载的均衡。

9.3.2 固态硬盘

        固态硬盘,更准确地说是基于闪存的固态硬盘,是近几年出现的新的存储设备,其内部由闪存(FlashMemory)组成。因为闪存的低延迟性、低功耗,以及防能性,闪存设备已在移动设备上得到了广泛的应用。企业级应用一般使用固态硬盘,通过并联多块闪存来进步提高数据传输的吞吐量。

        不同于传统的机械硬盘,闪存是一个完全的电子设备。因此,固态硬盘不需要像传统机械硬盘一样,需要耗费大扯时间的磁头旋转和定位来查找数据,所以固态硬盘可以提供一致的随机访问时间。固态硬盘这种对数据的快速读写和定位特性是值得研究的。

       另一方面,闪存中的数据是不可以更新的,只能通过扇区 (sector) 的覆盖重写,而在覆盖重写之前,需要执行非常耗时的擦除 (erase) 操作。擦除操作不能在所含数据的扇区 上完成,而需要在删除整个被称为擦除块的基础上完成,这个擦除块的尺寸大于扇区的大小,通常为 128KB 或者 256KB。此外,每个擦除块有擦写次数的限制。已经有 些算法来解决这个问题。但是对于数据库应用,需要认真考虑固态硬盘在写人方面存在的问题。

        因为存在上述写入方面的问题,闪存提供的读写速度是非对称的。读取速度要远快于写入的速度,因此尽量避免过多的写入操作。

        对于固态硬盘在InnoDB存储引擎中的优化,可以增加innodb_ io _ capacity变量的值达到充分利用固态硬盘带来的高IOPS特性。不过这需要用户根据自己的应用进行有针对性的调整。在InnoSQL及InnoDBl.2版本中,可以选择关闭邻接页的刷新,同样可以为数据库的性能带来一定效果的提升。

9.4 合理地设置RAID

9.4.1 RAID类型

        RAID (Redundant Array of Independent Disks, 独立磁盘冗余数组)的基本思想就是把多个相对便宜的硬盘组合起来,成为一个磁盘数组,使性能达到甚至超过一个价格昂贵、容拭巨大的硬盘。由于将多个硬盘组合成为一个逻辑扇区,RAID看起来就像一个单独的硬盘或逻辑存储单元,因此操作系统只会把它当作一个硬盘。

RAID的作用是: 

增强数据集成度

增强容错功能

增加处理量或容量

9.5 操作系统的选择

        Linux是MySQL数据库服务器中最常使用的操作系统。 与其他操作系统不同的是Linux有着众多的发行版本, 每个用户的偏好可能不尽相同。 然而在将Linux操作系统作为数据库服务器时需要考虑更多的是操作系统的稳定性, 而不是新特性。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容