macOS下面使用fio进行磁盘测速
1.打开终端,运行命令安装fio
(没有安装brew的可以参考此文章:https://zhuanlan.zhihu.com/p/111014448)
2. 安装完成后,输入命令测速
2.1 连续读取
运行测试前,有两个路径需要根据情况修改,在下方标红
命令解释:
· filename:测试文件路径,如果测试本地硬盘,可以写/Users/用户名/Documents/fio-test,如果是外置硬盘,可以写/Volumes/硬盘名/fio-test
· direct:不用系统缓存
· rw:read是读,write是写
· bs:block size,单次io长度
· iodepth: 队列深度
· size:测试文件大小
· runtime:测试时间
· log_avc_msec:写日志的间隔
· write_bw_log:日志路径
2.2 连续写入
同上
2.3 4K随机读取
· iodepth:队列深度,1和32可以分别测试单线程4k和多线程4k
2.4 4K随机写入
3. 查看结果并画图
找到保存的log文件,第一列是时间,第二列是速度,用numbers打开就可以画图了。
1.打开终端,运行命令安装fio
- brew install fio
(没有安装brew的可以参考此文章:https://zhuanlan.zhihu.com/p/111014448)
2. 安装完成后,输入命令测速
2.1 连续读取
- fio --filename=/Volumes/test/fio-test --direct=1 --rw=read --ioengine=posixaio --bs=1m --iodepth=32 --size=10G --numjobs=1 --runtime=60 --time_base=1 --group_reporting --name=test-seq-read --log_avg_msec=1000 --write_bw_log=/Users/nkc3g4li/Documents/fiologs/fio-seq-read
命令解释:
· filename:测试文件路径,如果测试本地硬盘,可以写/Users/用户名/Documents/fio-test,如果是外置硬盘,可以写/Volumes/硬盘名/fio-test
· direct:不用系统缓存
· rw:read是读,write是写
· bs:block size,单次io长度
· iodepth: 队列深度
· size:测试文件大小
· runtime:测试时间
· log_avc_msec:写日志的间隔
· write_bw_log:日志路径
2.2 连续写入
- fio --filename=/Volumes/test/fio-test --direct=1 --rw=write --ioengine=posixaio --bs=1m --iodepth=32 --size=10G --numjobs=1 --runtime=60 --time_base=1 --group_reporting --name=test-seq-read --log_avg_msec=1000 --write_bw_log=/Users/nkc3g4li/Documents/fiologs/fio-seq-write
2.3 4K随机读取
- fio --filename=/Volumes/test/fio-test --direct=1 --rw=randread --ioengine=posixaio --bs=4k --iodepth=1 --size=10G --numjobs=1 --runtime=60 --time_base=1 --group_reporting --name=test-seq-read --log_avg_msec=1000 --write_bw_log=/Users/nkc3g4li/Documents/fiologs/fio-randread
2.4 4K随机写入
- fio --filename=/Volumes/test/fio-test --direct=1 --rw=randwrite --ioengine=posixaio --bs=4k --iodepth=1 --size=10G --numjobs=1 --runtime=60 --time_base=1 --group_reporting --name=test-seq-read --log_avg_msec=1000 --write_bw_log=/Users/nkc3g4li/Documents/fiologs/fio-randwrite
3. 查看结果并画图
找到保存的log文件,第一列是时间,第二列是速度,用numbers打开就可以画图了。

