linux 磁盘性能测试 fio
一、磁盘读写测试工具
常用的磁盘测试工具有fio netstat 等,这里主要记录一下fio的测试过程。
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。
fio 官网地址:http://freshmeat.net/projects/fio/
二、使用步骤
1.fio下载安装
centos通过yum install fio即可,离线安装
(1)联网下载fio所需的rpm包,无网络情况直接安装rpm安装即可
yum install --downloadonly --downloaddir /tmp/ fio
(2)查看磁盘,选择测试的磁盘
(3)注意事项
1. 测试机械硬盘时,一般设置线程数为1,即numjobs=1,iodepth=32。特别是测试顺序读写性能的时候,多个线程会导致顺序IO变成随机IO,性能变差。测试文件系统系统性能的时候,需要先用顺序的大块IO将磁盘写一遍,然后再测试文件系统性能;
2)测试文件系统时,先测试顺序,再测随机;
3)SSD硬盘测试需要绑核,taskset -c 1-4 fio …;
4)测试过程中需要使用iostat观测硬盘实时性能,fio显示的数据不准确;
5)测试NVME时,如果硬盘背板存在PCIe Switch,需要注意NVME盘的插法,按照最佳插法配置;
6)测试磁盘性能时,如果服务器散热较差,需要提高风扇转速,机械硬盘50度就开始降性能了,raid卡温度过高也会影响性能;
7)需要保证使用的工具版本是一样的,不同版本的测试工具有性能差异。 测试硬盘与测试文件系统要用两种不同方法与时机: 单纯测试硬盘需要裸设备,因为直接操作磁盘,磁盘读写会破坏文件系统,测试完成后需要重新格盘,充分格式化文件系统! 测试文件系统方式为指定文件系统中某个路径下的不存在的文件用来测试读写