mysql fio测试_Linux下 fio磁盘压测笔记

专业的测试磁盘IO性能的软件:

1、fio 【推荐使用】

2、iometer

fio的使用:

参考博客: http://lilinji.blog.51cto.com/5441000/1569623

https://linux.die.net/man/1/fio

http://elf8848.iteye.com/blog/2168876   【讲的比较好】

注意,我先使用yum安装的fio,测试时候报错,建议使用最新版的fio工具编译安装。方法如下:

yum install libaio libaio-devel   需要先安装2个包

新版的 fio-2.1.4 源码包下载 http://brick.kernel.dk/snaps/

tar xf fio-2.1.4.tar.gz

cd fio-2.1.4

./configure

make  即可在当前目录下生成fio可执行文件。

fio的几个参数:

filename=/bdata/test.big 测试文件名称,通常选择需要测试的盘所在的目录。

direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。

rw=randwrite 测试随机写的I/O

rw=randrw 测试随机写和读的I/O

bs=4k 单次io的块文件大小为4k

size=2g 本次的测试文件大小为2g,以每次4k的io进行测试。

numjobs=64 本次的测试线程为64.   【建议设置为CPU的CORE数量一致】

runtime=20 测试时间为20秒,如果不写则一直将2g文件分4k每次写完为止。

ioengine=psync io引擎使用pync方式 ,此外还有libaio 异步方式。

rwmixwrite=30 在混合读写的模式下,写占30%

group_reporting 关于显示结果的,汇总每个进程的信息。

sync=1 设置异步io

fsync=1 一个io就同步数据

帮助命令:

fio --help

fio --cmdhelp 等等

# 准备个2GB的测试用的文件

dd if=/dev/zero of=/bdata/test.big bs=4k count=524288    # 通常在需要测试的那个磁盘下面生成一个这种测试用的大文件

测试随机读写:

fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write

测试顺序读取:

fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=1m --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read

测试顺序写性能

fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=1m -size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write

测试随机读:

fio --filename=/root/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read

测试随机写:

fio --filename=/root/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write

采用同步IO的随机写:

fio --filename=/root/rndwrite -iodepth=64 -ioengine=psync -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=32 -runtime=20 -group_reporting -name=test-rand-write

其他:

# 4k,100%读写:

fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=4k --rwmixread=100 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=4ktest

# 8k,70%读取,30%写入:

fio --filename=/dev/sdx --direct=1 --rw=randrw --refill_buffers --norandommap --randrepeat=0 --ioengine=libaio --bs=8k --rwmixread=70 --iodepth=16 --numjobs=16 --runtime=60 --group_reporting --name=8k7030test

在阿里云SSD测试时候,使用libaio方式能达到较高的IOPS,使用psync的话,IOPS下降的很严重。从网上其他测试数据来看,异步的libaio比同步的psync方式性能高15倍左右。

附带一个MySQL DELL物理机的测试情况:

1 aio异步模式随机写入5G数据

测试命令:

fio --filename=/root/rndwrite -iodepth=64-ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=5G -numjobs=64-runtime=20 -group_reporting -name=test-rand-write

Samsung SSD 750 EVO 500GB盘为例,测试截图

d873b5b94a771791a7540f7736fd76d5.png

2 psync同步模式随机写入5G数据

测试命令:

fio --filename=/root/rndwrite -iodepth=64-ioengine=psync -direct=1 -rw=randwrite -bs=4k -size=5G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write

10.0.36.4 Samsung SSD 750 EVO 500GB盘为例,测试截图

4bb76b8a16e0f57abaeefbfbf48d296f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值