待测试的文件或块设备。
注:read()和write()调用每次在文件和进程的地址空间之间传送一块连续的数据。但是,应用有时也需要将分散在内存多处地方的数据连续写到文件中,或者反之。在这种情况下,如果要从文件中读一片连续的数据至进程的不同区域,使用read()则要么一次将它们读至一个较大的缓冲区中,然后将它们分成若干部分复制到不同的区域,要么调用read()若干次分批将它们读至不同区域。同样,如果想将程序中不同区域的数据块连续地写至文件,也必须进行类似的处理。UNIX提供了另外两个函数—readv()和writev(),它们只需一次调用就可以实现在文件和进程的多个缓冲区之间传送数据,免除了多次系统调用或复制数据的开销。readv()称为散布读,即将文件中若干连续的数据块读入内存分散的缓冲区中。writev()称为聚集写,即收集内存中分散的若干缓冲区中的数据写至文件的连续区域中。
当前测试是否采用直接IO方式进行读写,如果采用直接IO,则取值-direct=1,否则取值-direct=0。
采用直接IO写测试,会使得测试结果更加真实。
本次测试文件的大小;例-size=1G
IO队列深入,即一次下发的IO的个数,例如:-iodepth=16
测试进程的并发数,默认为,例:-numjobs=16
设置测试运行的时间,单位秒,例:-runtime=300
关于显示结果的,汇总每个进程的信息
对测试所使用的内存进行限制,如-lockmem=1g,限制1G
第一行:当前测试为随机读(randread),IO块大小,文件读写方式psync,IO队列深度为1,
第二行:fio的版本号
第三行:说明任务的并发数
第四行:任务并发数,进度,剩余测试时间。
上述结果,说明了读IO的数据量,带宽,IOPS
摘要: 本文讲的是linux使用FIO测试磁盘IO性能的例子, FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持19种不同的I/O引擎,包括:sync, mmap,
可以直接yum进行安装,也可以下载压缩包进行安装
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , 测试 压力测试 fio 测试磁盘性能、磁盘io性能、linux 磁盘io性能测试、磁盘io性能指标、linux查看磁盘io性能,以便于您获取更多的相关知识。
客户在 Azure中建立虚拟机后,通常有磁盘性能测试的需求。
在Azure中建立Linux虚拟机后,可以看见两个磁盘分别为sda和sdb,其中sda为系统盘,sdb为临时盘。临时盘为虚拟机所在物理服务器的本地存储,在Windows Azure执行计划内或计划外维护时,虚拟机会移动到其他宿主服务器,所以会造成临时盘的内容丢失。除系统盘和临时盘外,Windows Azure还允许用户挂载数据盘。对于Linux虚拟机,系统盘才30G的空间,所以在实际应用场景中需要挂载数据盘存储应用数据。在azure linux虚拟机中,对于A7类型的虚拟机最多允许挂载16个数据磁盘,提供16TB的存储空间并且这些磁盘支持通过Raid机制获得更好的读/写性能。
1. 安装磁盘测试工具
Fio是常见的磁盘IOPS测试工具。首先在Centos中安装Fio:
2. 查看当前磁盘信息
可以看见当前系统盘和临时盘
输入磁盘大小,附加成功后查看磁盘信息:
对新磁盘执行分区操作:
分区完成后创建文件系统:
为下次重启能自动挂载,需要修改/etc/fstab文件
对系统盘执行随机写测试
接下来执行随机读和随机读写测试:
用以上方法对数据盘/dev/sdc1进行测试。
direct=1测试过程绕过机器自带的buffer。使测试结果更真实。
size=5g本次的测试文件大小为5g,以每次4k的io进行测试。
runtime=1000测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
group_reporting关于显示结果的,汇总每个进程的信息。
nrfiles=8每个进程生成文件的数量
VM,在VM上部署MySQL等服务,同时希望能够获得性能更高的磁盘读/写访问,得到更好的数据安全、支持更多的并发访问会更好
对于Azure上的Linux虚拟机,可以采用以下的步骤,来创建RAID:
1. 在一个虚拟机上附加多个数据盘。
不同尺寸的虚拟机可以附加的数据盘的数量也不一样:其中8核的XL和A7最多可以增加16块1T的数据盘,即每个虚拟机最多可提供16TB。
需要注意的是,对于数据磁盘,主机缓存默认首选项为“无”,这样对于数据库的应用,保证数据不丢而言更为有利。
2. 在Linux虚拟机中,利用root权限,执行下面的创建RAID、文件系统及磁盘安装命令:
例如,利用4块数据磁盘,部署RAID-0。
不同的RAID等级,可以满足用户针对磁盘读/写性能、数据校验等方面的要求。