龙空技术网

利用fio工具评估存储/磁盘性能

walk456 46

前言:

此时看官们对“window10怎么检测电脑硬件性能”大概比较注意,姐妹们都需要剖析一些“window10怎么检测电脑硬件性能”的相关资讯。那么小编也在网络上搜集了一些对于“window10怎么检测电脑硬件性能””的相关知识,希望同学们能喜欢,我们快快来学习一下吧!

#运维##奇妙知识季##冷知识##学习##每日一点linux##如何才能学好linux##linux小白初体验一周--分享学习感受##linux就该这么学#

一、fio工具介绍:

FIO(Flexible I/O Tester)是一个用于测试系统磁盘和文件系统性能的工具。它可以模拟不同类型的I/O负载,并提供详细的性能指标和统计数据,帮助用户评估存储系统的性能表现。

下面是 FIO 工具的一些重要特性:

1. 灵活性:FIO 可以配置多种不同类型的负载模式,包括随机/顺序读写、随机/顺序混合读写、随机访问、随机写入等。用户可以灵活地定义访问模式、块大小、队列深度等参数,以满足自己的需求。

2. 多线程支持:FIO 可以同时发起多个线程来执行 I/O 操作,模拟多个并发用户或应用程序对存储系统的访问。这样可以更准确地测量系统在高并发负载下的性能表现。

3. 统计数据:FIO 提供了丰富的性能指标和统计数据,例如吞吐量、IOPS、延迟、带宽等。这些数据可以帮助用户全面了解系统的性能状况,并进行性能分析和调优。

4. 多平台支持:FIO 可以在多个操作系统上运行,包括 Linux、Windows、Mac OS 等,以及多种文件系统,如 ext4、XFS、NTFS 等。用户可以根据自己的环境选择适合的配置和测试方案。

使用 FIO 工具可以帮助开发人员和系统管理员评估存储系统的性能,并进行性能调优。它在存储系统设计、性能测试、负载模拟等领域得到了广泛应用。

二、如何安装

在linux环境下,众所周知安装程序要嘛很简单,如rpm直接安装,犹如yum联网直接安装,要嘛就是非常麻烦,如编译,如rpm安装缺少太依赖,如yum无法联网。所以这就是两极分化。这里我们使用CentOS作为案例

1、安装编译环境

可以yum联网,或者挂载本地iso做本地yum源安装

命令:yum groupinstall “Development tools”

2、下载fio源码包

1)下载源码包的方式安装

wget

yum install libaio-devel(是否必须待现场系统测试)

2)利用一台纯净的CentOS下载全部rpm包,在yum本地安装

yum install fio --downloadonly --downloaddir=/home/fio

3、安装fio

1)编译和安装fio源码

解压:tar -zxvf 包名

进入目录i:cd 包目录

命令:make

命令:make install

2)直接安装rpm包及依赖

yum localinstall /home/fio/*.rpm

4、测试

参数说明:

filename=/dev/sda2 测试文件名称,通常选择需要测试的盘的data目录。 只能是分区,不能是目录,会破坏数据,需要卸载

directory=/home 测试目录

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

iodepth 1 队列深度,只有使用libaio时才有意义,这是一个可以影响IOPS的参数,通常情况下为1。

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

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

ioengine=psync io引擎使用psync方式

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

bsrange=512-2048 同上,提定数据块的大小范围

size=50G 本次的测试文件大小为50g,以每次4k的io进行测试,此大小不能超过filename的大小,否则会报错。

numjobs=10 本次的测试线程为10.

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

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

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

此外

lockmem=1g 只使用1g内存进行测试。

zero_buffers 用0初始化系统buffer。

nrfiles=8 每个进程生成文件的数量。

read 顺序读

write 顺序写

rw,readwrite 顺序混合读写

randwrite 随机写

randread 随机读

randrw 随机混合读写

===========================================

完整测试命令

(1)随机读

fio -directory=/home/ -direct=1 -iodepth=64 -thread -rw=randread -ioengine=psync -bs=4k -size=1G -numjobs=30 -runtime=300 -group_reporting -name=fiotestfile --output FioResult-randread.log

(2)随机写

fio -directory=/home/ -direct=1 -iodepth=64 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1G -numjobs=30 -runtime=300 -group_reporting -name=fiotestfile --output FioResult-randwrite.log

(3)顺序读

fio -directory=/home/ -direct=1 -iodepth=64 -thread -rw=read -ioengine=psync -bs=4k -size=1G -numjobs=30 -runtime=300 -group_reporting -name=fiotestfile --output FioResult-read.log

(4)顺序写

fio -directory=/home/ -direct=1 -iodepth=64 -thread -rw=write -ioengine=psync -bs=4k -size=1G -numjobs=30 -runtime=300 -group_reporting -name=fiotestfile --output FioResult-write.log

(5)混合随机读写

fio -directory=/home/ -direct=1 -iodepth=64 -thread -rw=randrw -rwmixread=40 -ioengine=psync -bs=4k -size=1G -numjobs=30 -runtime=300 -group_reporting -name=fiotestfile -ioscheduler=noop --output FioResult-randrw.log

将以下命令写入文本,利用命令:fio 文本可以直接运行全部测试

[global]

ioengine=psync

direct=1

thread=1

group_reporting

randrepeat=0

norandommap

timeout=240

runtime=120

iodepth=64

numjobs=30

size=1G

filename=/home/fiotest.test

[randread]

rw=randread

bs=4k

[randwrite]

rw=randwrite

bs=4k

[read]

rw=read

bs=4k

[write]

rw=write

bs=4k

[randrw]

rw=randrw

bs=4k

rwmixread=60

ioscheduler=noop

标签: #window10怎么检测电脑硬件性能