【云存储】IOPS概念及测试方法 您所在的位置:网站首页 ssd随机读写和顺序读写 【云存储】IOPS概念及测试方法

【云存储】IOPS概念及测试方法

2024-06-02 14:01| 来源: 网络整理| 查看: 265

作者:【吴业亮】 转载自博客:http://blog.csdn.net/wylfengyujiancheng

一、什么是IOPS

IOPS(Input/Output Operations Per Second)是一个用于电脑存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。和其他性能测试一样,存储设备制造商提出的IOPS不保证就是实际应用下的性能。

IOPS可以用应用程序来量测,例如一开始由微软开发的Iometer,像IOzone及FIO也有类似功能,IOPS主要会用在服务器,以找到最佳的存储配置。

IOPS的数值会随系统配置而有很大的不同,依测试者在测试时的控制变因而异,控制变因包括读取及写入的比例、其中循序访问及随机存取的比例及配置方式、线程数量及访问队列深度,以及数据区块的大小。其他因素也会影响IOPS的结果,例如系统设置、存储设备的驱动程序、操作系统后台运行的作业等。若在测试固态硬盘时,是否先进行预调(preconditioning)机制也会影响IOPS的结果

二、性能特性

最常量测的性能特性是随机存取及循序访问时的IOPS。循序访问是访问存储设备中相邻位置的数据,一般和较大的数据区块访问有关,例如128 KB,随机存取是访问存储设备中非相邻位置的数据.一般访问的数据区块比较少,例如4 KB。

最常见的性能特性如下:这里写图片描述

这里写图片描述 对于硬盘或是其他类似的存储设备,其随机存取IOPS主要和存储设备的寻址时间有关,若是固态硬盘及其他固态电子设备,其随机存取IOPS主要和存储设备的内部控制器及记亿体接口速度有关。这两种设备的循序访问IOPS(尤其是访问大数据区块)一般会包括存储设备可以持续的最大带宽。一般循序访问的IOPS会用MB/s表示,其公式如下:这里写图片描述

有些硬件会因为其队列深度增加而提升其性能,这多半是因为硬盘处理队列及重新排序(reordering)的先进控制器逻辑的结果,此逻辑一般称为标记命令队列(TCQ)或原生指令排序(NCQ)。企业档次的SATA硬盘,例如Western Digital Raptor及希捷的Barracuda NL配合深队列可以提升性能到100%[5]。较常用在服务器的高端SCSI硬盘,一般性能有更大的提升。

传统的硬盘读取和写入的IOPS大约相同,而大部分闪存SSD的写入速度明显比读偠慢很多,原因是无法写入一个之前写过的区域,会强制引导垃圾数据回收功能。因此硬件测试开始在测试IOPS性能时,分开测试写入和读取。

像Intel X25-E等较新的闪存SSD固态硬盘其IOPS会比传统的硬盘要高,在Xssist进行的一个测试中,用IOmeter软件,4 KB随机存取,读取/写入比例为70/30,队列深度4,Intel X25-E 64 GB G1的IOPS一开始有 10000 IOPs,在八分钟后快速掉到4000 IOPS,之后的42分钟持续的下降,自第50分钟起到第八小时之间,IOPS在3000至4000之间变化[9]。即使第50分钟IOPS快速下降,X25-E的IOPS仍较传统硬盘要高。像OCZRevoDrive 3 x2 PCIe用SandForce控制器,其持续写入性能和读取速度大致相近。

二、测试工具fio

1、简介 fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 19 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information, including complete IO latencies and percentiles. Fio is in wide use in many places, for both benchmarking, QA, and verification purposes. It supports Linux, FreeBSD, NetBSD, OpenBSD, OS X, OpenSolaris, AIX, HP-UX, Android, and Windows.

2、安装

yum install fio -y 1

3、用法:

fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=test 1

说明: filename=/dev/sdb 测试文件名称,通常选择需要测试的盘的data目录。 direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。 rw=randwrite 测试随机写的I/O rw=randrw 测试随机写和读的I/O bs=16k 单次io的块文件大小为16k bsrange=512-2048 同上,提定数据块的大小范围 size=5G 本次的测试文件大小为5g,以每次4k的io进行测试。 numjobs=30 本次的测试线程为30个. runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。 ioengine=psync io引擎使用pync方式 rwmixwrite=30 在混合读写的模式下,写占30% group_reporting 关于显示结果的,汇总每个进程的信息。 lockmem=1G 只使用1g内存进行测试。 zero_buffers 用0初始化系统buffer。 nrfiles=8 每个进程生成文件的数量。

4k随机读:

fio -filename=/dev/sdc -direct=1 -iodepth=64 -thread=8 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=32 -runtime=600 -group_reporting -name=randread4k-sdc-output=randread4k-sdc.log 1

4K随机写:

fio -filename=/dev/sdc -direct=1 -iodepth=64 -thread=8 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=32 -runtime=600 -group_reporting -name=randwrite4k-sdc-output=randwrite4k-sdc.log 1

4M顺序读:

fio -filename=/dev/sdc -direct=1 -iodepth=64 -thread=8 -rw=read -ioengine=libaio -bs=4m -size=1G -numjobs=32 -runtime=600 -group_reporting -name=read4m-sdc -output=read4m-sdc.log 1

4M顺序写:

fio -filename=/dev/sdc -direct=1 -iodepth=64 -thread=8 -rw=write -ioengine=libaio -bs=4m -size=1G -numjobs=32 -runtime=600 -group_reporting -name=write4m-sdc -output=write4m-sdc.log 1

混合读写: 读写比例 70:30

fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=libaio -bs=4k -size=10G -numjobs=30 -runtime=100 -group_reporting -name=readandwrite73 1

读写比例30:70

fio -filename=/dev/vda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=30 -ioengine=libaio -bs=4k -size=1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有