由于公司最近需要上SSD,用于
MySQL数据库服务器,以下针对单块480G SSD、接RAID卡240G SSD* 2 RAID0,以及与普通硬盘SATA硬盘以及SAS(raid10)做个比较:
480G SSD: INTEL SSDSC2BP480G4
SATA:WD6401AALS-00J7B1
240*2 SSD RAID0: INTEL SSDSC2BP240410BTJR408108F5240AGN RAID卡: LSI MegaRAID SAS 9271-4i
300G*4 SAS RAID10: SEAGATE ST3146855SS
1、测试单块480G SSD硬盘直连主板,与2块240G SSD 接RAID卡做RAID0 性能比较
2、测试单块SSD与SATA以及SAS(RAD10)的性能比较
测试方法:
1、通过sysbench mark基准测试工具对文件读写IO进行测试;
2、准备样本数据100G,分16个文件;
3、分别基于4KB,16KB 两个block size进行读写测试;
4、共进行随机读、随机写、随机读写、顺序读、顺序写、顺序读写6种Case测试;
5、测试同时加载16个线程,最大执行时间180秒,最大请求100000次;
测试脚本:
#!/bin/sh device=$1 log_file=fileio.log Usage() { echo "basename $0 [Device Directory]" exit 0 } if [ -z "$*" ] || [ $# -ne 1 ]; then Usage fi cd $device for blksize in 4096 16384; do ##prepare /usr/local/sysbench/bin/sysbench --test=fileio --file-num=16 --file-total-size=100G prepare for mode in rndrd rndwr rndrw seqrd seqwr seqrewr; do # for mode in seqrewr; do echo "----$device $blksize $mode----" >> $log_file #run /usr/local/sysbench/bin/sysbench --test=fileio --file-num=16 --file-total-size=100G --file-test-mode=$mode --max-time=180 --max-requests=100000 --num-t hreads=16 --init-rng=on --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run >> $log_file 2>&1 done #cleanup /usr/local/sysbench/bin/sysbench --test=fileio --file-total-size=100G cleanup done |
测试结果1:单块480G SSD与2块240 SSD(RAID0)性能比较
1、随机读
4KB Block随机读:两者相当 16KB Block随机读:240G*2 SSD(RAID0)相对较优;
2、随机写
4KB Block随机写:480G SSD(Local)较优 16KB Block随机写:两者相当;
3、随机读写
4KB Block随机读写: 480G SSD(Local)较优 16KB Block随机读写:240G*2 SSD(RAID0)相对较优
4、顺序读
4KB Block顺序读: 240G*2 SSD(RAID0)较优 16KB Block顺序读:240G*2 SSD(RAID0)较优
5、顺序写
4KB Block顺序写:480G SSD(Local)较优 16KB Block顺序写: 480G SSD(Local)较优
6、顺序读写
4KB Block顺序读写:480G SSD(Local)较优 16KB Block顺序写:480G SSD(Local)较优
测试结论1:(For 单块SSD与SSD(raid0)比较)
1、总体IO读方面:240G*2 SSD (RAID0)在读性能方面相对较优,但只是略微高于480G SSD(Local),远远未达到2倍的效果;
2、总体IO写方面:480G SSD(Local) 各种写情况都高于240G*2 SSD (RAID0) ;
测试结果2:(For SSD与SATA以及SAS(RAID10)的性能测试对比)
(由于mysql innodb datafile 每个PAGE Size默认为16KB,这里主要看16KB Block Size的性能对比结果)
测试结论2:
1、可见SSD在随机读、写等方面等有非常大的优势,顺序读和顺序写方面,与SATA的优势不明显,但仍远远大于SAS(RAID10)的性能;
2、虽在Sequential Read&Write of IOPS方面 SATA略优于SSD,但数据库很少有这种应用。
测试结果数据统计:
以上主要测试硬盘在IO方面的性能对比结果,目前暂未测试基于MySQL QPS/TPS的测试结果。