导读
问题由来本文源自于我早前的一个分享“比较全面的MySQL优化参考(下篇)”,有位网友(留言署名 郭忠明)提出了不同看法,他认为在一些场景下使用共享表空间有很大优势。下面是这位网友的观点: 1、使用裸设备的情况: MySQL 的裸设备的经典配置如下:
in /etc/mysql/my.cnf
2、使用裸设备以后, 带来的第2个优点是:flachcache的缓冲块大小可以提高到16k, 而不是默认的4k. 因为MySQL数据库的读写块的单位是16KB, 这样减少了flachecache mdata的数量4倍, 可以带来可观的性能提高. 并且flashcache 直接映射裸设备, 带来了性能提高, 减少了一次读写XFS索引块的IO. 3、使用裸设备以后, 减少了磁盘碎片. 我们知道碎片产生的原因有2个, 1个是XFS,ext4带来的, 1个是MYSQL内部数据块带来的. 使用裸设备以后, XFS,ext4这个因素就完全消除了, 减少了碎片的概率. 4、裸设备本身也支持MYSQL的日志ib_logdata0和ib_logdata1的存取. 这个方面, MySQL只需要简单的修改, 就可以把log数据也存放到裸设备上. 当把日志也存放到裸设备上以后, 实际MYSQL的底层就与数据库Oracle的经典配置完全类似, 可以带来非常大的性能提高. 我的看法对这位朋友提出的观点我以前确实没有关注和测试过,因此非常感兴趣,想知道到底对性能提高有多少帮助,和对方联系过,但一直未收到他的回复(如有认识的朋友麻烦跟他说下哈)。 站在运维规范的角度上,我还是建议使用独立表空间,在对实例进行日常管理,备份、恢复等方面的需求处理起来会方便很多。 本文转载自:微信公众账号 - MySQL中文网,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|