赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 百度云
  3. 云服务器 BCC
  4. 运维参考
  5. Linux运维参考
  6. 性能测试
  7. Linux-磁盘IO性能测试

Linux-磁盘IO性能测试

  • 性能测试
  • 发布于 2025-04-02
  • 4 次阅读
文档编辑
文档编辑

本文主要介绍BCC Linux系统中IO性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。

  1. 衡量指标

一般使用以下指标衡量云磁盘的性能:

  • IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。
  • 吞吐量:每秒的读写数据量,单位为MB/s。
  • 时延:I/O 操作的发送时间到接收确认所经过的时间,单位为秒。
  1. 测试工具

FIO 是测试磁盘性能的工具,用来对硬件进行压力测试和验证,本文以 FIO 为例。

警告:

  • 请不要在系统盘上进行 FIO 测试,避免损坏系统重要文件。
  • 为避免底层文件系统元数据损坏导致数据损坏,请不要在业务数据盘上进行测试。
  • 请确保/etc/fstab文件配置项中没有被测硬盘的挂载配置,否则将导致云服务器启动失败。
  1. 工具安装

本文以 CentOS 7.6 操作系统的云服务器为例,可以直接yum安装测试工具fio和libaio。

$ yum install libaio -y
$ yum install libaio-devel -y
$ yum install fio -y
  1. 测试示例

1)参数说明:

参数名 说明 取值样例
bs 每次请求的块大小。取值包括4k、8k及16k等。 4k
ioengine I/O 引擎。推荐使用 Linux 的异步 I/O 引擎。 libaio
iodepth 请求的 I/O 队列深度。 1
direct 指定 direct 模式。
• True(1)表示指定 O_DIRECT 标识符,忽略 I/O 缓存,数据直写。
• False(0)表示不指定 O_DIRECT 标识符。
默认为 True(1)。
1
rw 读写模式。取值包括顺序读(read)、顺序写(write)、随机读(randread)、随机写(randwrite)、混合随机读写(randrw)和混合顺序读写(rw,readwrite)。 read
time_based 指定采用时间模式。无需设置该参数值,只要 FIO 基于时间来运行。 N/A
runtime 指定测试时长,即 FIO 运行时长,以秒为单位。 600
refill_buffers FIO 将在每次提交时重新填充 I/O 缓冲区。默认设置是仅在初始时填充并重用该数据。 N/A
norandommap 在进行随机 I/O 时,FIO 将覆盖文件的每个块。若给出此参数,则将选择新的偏移量而不查看 I/O 历史记录。 N/A
randrepeat 随机序列是否可重复,True(1)表示随机序列可重复,False(0)表示随机序列不可重复。默认为 True(1)。 0
group_reporting 多个 job 并发时,打印整个 group 的统计值。 N/A
name job 的名称。 fio-read
size I/O 测试的寻址空间。 100GB
filename 测试对象,即待测试的磁盘设备名称。 /dev/sdb

2)测试场景

  • bs = 4k iodepth = 1:随机读/写测试,能反映硬盘的时延性能(filename需要指定设备中的具体磁盘盘符,如下以/dev/vda1为例)
    执行以下命令,测试硬盘的随机读时延。
$ fio -bs=4k -ioengine=libaio -iodepth=1 -direct=1 -rw=randread -time_based -runtime=600  -randrepeat=0 -name=fio-randread-lat --size=10G -filename=/dev/vda1
  • 执行以下命令,测试硬盘的随机写时延。
$ fio -bs=4k -ioengine=libaio -iodepth=1 -direct=1 -rw=randwrite -time_based -runtime=600 -randrepeat=0 -name=fio-randwrite-lat --size=10G -filename=/dev/vda1
  • 执行以下命令,测试随机混合读写时延性能。
$ fio -bs=4k -ioengine=libaio -iodepth=1 -direct=1 -rw=randrw -time_based --runtime=600 -randrepeat=0 -name=fio-read --size=1G --filename=/dev/vda1
相关文章

Linux-磁盘IO性能测试 2025-04-02 17:54

本文主要介绍BCC Linux系统中IO性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。 衡量指标 一般使用以下指标衡量云磁盘的性能: IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的

Linux-CPU性能测试 2025-04-02 17:54

本文主要介绍BCC Linux系统中CPU性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。 衡量指标 一般使用以下指标衡量CPU的性能: Dhrystone 2 using register variables Do

Linux-网络性能测试 2025-04-02 17:54

本文主要介绍BCC Linux系统中网络性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。 衡量指标 一般使用以下指标查看网络带宽的性能: Bandwidth Retr/Retransmits 测试工具 iperf是一

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号