SAS vs SSD各种模式下MySQL TPCC OLTP对比测试结果

在各种测试组合方案中,组合10(组合10:SSD * 2, RAID 0, XFS,WB,nobarrier,noop)的综合性能最高,因此以它为基准,其他方案与其对比,下表是各组合和组合10的对比:

相应的对比线形图:

测试环境:

结语
1. 在xfs文件系统模式下,SSD设备的性能是SAS设备性能的6 ~ 13倍,平均:9倍,在并发16线程时最高(和MySQL的内部机制有关);
2. SSD设备使用noop模式的IO调度器效率最高(关于Linux内核IO调度器详见:http://www.redhat.com/magazine/008jun05/features/schedulers/);
3. xfs设置为nobarrier相比启用barrier效率高(关于barrier介绍详见:http://xfs.org/index.php/XFS_FAQ#Write_barrier_support);
4. 建议仍旧启用阵列卡的WB策略以提高整体阵列随机IO性能;
5. 在ext4文件系统模式下,SSD设备的性能是SAS设备性能的4.9~8.6倍,平均:6.6倍,在并发16线程时最高(和MySQL的内部机制有关);
6. 在SSD设备模式下,xfs文件系统的性能是ext4文件系统性能的1.06~1.39倍,平均:1.15倍;
7. 在SSD设备模式下,OLTP并发32线程时效率最高,相比8线程提升 37.1%,相比16线程提升3.9%,相比64线程提升7.2%,相比128线程提升19.5%,相比256线程提升41.6%;
8. 使用SSD设备时,2块盘组成RAID 0相比RAID 1的性能提升并不明显,提升最高约9%;
9. 需要使用LVM时,也尽量先把硬盘组成物理阵列以提升性能,不要把裸盘直接组成LVM组,基于硬件阵列的LVM性能最高是基于裸盘的LVM的2.723倍;
10. 由于ext3下运行mysql效率较低,没有进行测试。

评论

没有看到测试data大小和innodb_buffer_pool_size的大小,perona上Vadim Tkachenko曾经做过sas/ssd/fio的测试,在innodb_buffer_pool_size分配内存等于或超过data时,三者性能相当,对应数据增长不快,但是更新频繁的应用场景,多买内存比采用fio卡划算,当然如果数据增长非常快,用fio成本也不低。之前做了测试,纠结很久最后还是放弃了fio,毕竟贵的不是一星半点。^_^

多谢提醒,已更新。TPCC初始化1000个DW后,数据表空间约80G。