0
点赞
收藏
分享

微信扫一扫

Linux高阶—磁盘性能分析fio

不会弹吉他的二郎腿 2022-04-29 阅读 95
linux

存储性能定义的三个核心指标:IOPS、Throughput、await

  1. IOPS的含义是:存储每秒钟可以处理的IO的个数;
  2. Throughput吞吐量(带宽)的含义是:存储每秒能处理的数据的总量,单位是MB/S;
  3. Await响应时间:单位时间内I/O延时。

有些人就会说了,你说定义是否正确?不会胡说八道吧!上图说话:

第一张图:

  1. 业界存储技术性能天花板企业宣传说IOPS能达到 2100000(存储在所有磁盘写满的情况下每一秒的IO处理能力),我相信对于一个世界500强企业能说这样话,肯定做个相关业务压测才能输出结果,数据来源应该可靠。
  2. 从业界存储技术性能天花板企业指标监控图可以看出,决定存储性能的三个指标就是IOPS、Throughput、await

第二张图:

  1. 开源的FIO性能指标也是三个指标,按单个磁盘、8KB块、读测试指标信息,看方框的数据:

IOPS:存储每秒钟可以处理的IO的个数iops=35639

Throughput:bw=285116KB/S=278MB/S

Await:lat(usec代表微妙) ,平均响应时间avg=223.73微妙=0.2毫秒

应用场景:

  1. 小文件随机读写的应用要求存储具有足够的I/O能力,所以要求较高的IOPS,在乎的是处理个数;
  2. 大文件持续传输型的应用需要的是存储具有充分的带宽(Throughput吞吐量)性能,在乎处理时长;
  3. 读写需要快速响应,那就关注磁盘await响应时间。

FIO测试案例:

使用FIO进行读写操作为高危操作,请务必提前查询和确认好用于FIO测试的卷挂载详情,并在后续测试过程中,严格使用查询到的测试卷设备名,避免出现对系统盘或者其他业务数据卷进行误操作。

  1. 小块8K随机读:fio -filename=/dev/sdb -direct=1 -rw=randread -bs=8K  -numjobs=8 -runtime=180 -group_reporting -name=8KB_write_sdb -output=/tmp/8K_read_sdb.log  -randrepeat=0 -norandommap&
  2. 小块8K随机写:fio -filename=/dev/sdb -direct=1 -rw=write -bs=8K  -numjobs=8 -runtime=180 -group_reporting -name=8KB _write_sdb -output=/tmp/8K _write_sdb.log  -randrepeat=0 -norandommap&
  3. 大块1M顺序读:fio -filename=/dev/sdb -direct=1 -rw=randread -bs=1m  -numjobs=8 -runtime=180 -group_reporting -name=1M_write_sdb -output=/tmp/1M _read_sdb.log  -randrepeat=0 -norandommap&
  4. 大块1M顺序写:fio -filename=/dev/sdb -direct=1 -rw=write -bs=1m  -numjobs=8 -runtime=180 -group_reporting -name=1M_write_sdb -output=/tmp/1M_write_sdb.log  -randrepeat=0 -norandommap&
举报

相关推荐

0 条评论