背景
为何Fio会更快呢,因为传统的存储设备读取,是左图的方式,要经过RAID控制器,来回的路径就长了。而Fio才有右图的方式,设备通过PCI槽直接与CPU交互,大大缩短了路径。

MariaDB新增了一个参数来启用这个特性,一旦开启,所有文件会用DFS_IOCTL_ATOMIC_WRITE_SET标记打开。
这样一来Double Write Buffer就没有存在的价值了,因为不会出现部分写,每个write下去都可以保证所写内容全部完成,这可以相当程度上提升InnoDB的性能。
Page compression
总而言之,InnoDB的Compressed Page有这些缺点:
它的实现方法是,只在Page即将写入到文件系统时,才进行压缩,因此最终只有压缩后的容量被写入到磁盘,如果压缩失败,那么就把没有压缩的容量写入磁盘。另外还会对Page内的512字节的倍数的未使用空间清理掉,不占用实际存储:
当页面被读取时,会在放入Buffer Pool之前进行解压缩,将原始页面载入内存。因此需要在文件头中加入一个新的Page type:FIL_PAGE_PAGE_COMPRESSED 
综合起来可以这样定义一张表:
意思是将t3表存到/dev/fioa盘,开启Page compression,采用4级压缩,开启原子写。
经过测试,可以看出,LZ4的压缩比例最好,而且,对性能影响非常小。


发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212235.html原文链接:https://javaforall.net
