美文网首页
Linux 测试磁盘IO性能的几种方法(转)

Linux 测试磁盘IO性能的几种方法(转)

作者: xener | 来源:发表于2018-08-14 10:30 被阅读0次

摘要: 在磁盘测试中最关心的几个指标分别为:iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)。 当每次IO操作的block较小时,如512bytes/4k/8k等,测试的主要是iops。 当每次IO操作的block较大时,如256k/512k/1M等,测试的主要是bw。1. 最简单的dd dd是linux自带的磁盘读写工具,可用于测试顺序读写。 一般而言,磁盘读写

 在磁盘测试中最关心的几个指标分别为:iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)。 

当每次IO操作的block较小时,如512bytes/4k/8k等,测试的主要是iops。 

当每次IO操作的block较大时,如256k/512k/1M等,测试的主要是bw。

1. 最简单的dd

 dd是linux自带的磁盘读写工具,可用于测试顺序读写。 

一般而言,磁盘读写有两种方式:BufferIO、DirectIO,DirectIO可以更好的了解纯磁盘读写的性能。

1.1 dd测试DirectIO 

iops——写测试 dd if=/dev/zero of=./a.dat bs=8k count=1M oflag=direct 

iops——读测试 dd if=./a.dat of=/dev/null bs=8k count=1M iflag=direct

bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k oflag=direct 

bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k iflag=direct

1.2 dd测试BufferIO

  BufferIO主要出现在一些大文件读写的场景,由于使用内存做Cache所以读写性能上和DirectIO相比,通常会高很多,尤其是读,所以这个场景下我们仅关心bw即可。

用dd测试BufferIO的写时,需要增加一个conv=fdatasync,使用该参数,在完成所有读写后会调用一个sync确保数据全部刷到磁盘上(期间操作系统也有可能会主动flush),否则就是主要在测内存读写了;

另外还有一个参数是oflag=dsync,使用该参数也是走的BufferIO,但却是会在每次IO操作后都执行一个sync。

通常conv=fdatasync更符合大文件读写的场景,所以这里以其作为参数进行测试。

bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k conv=fdatasync

bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k

2. 更专业的fio

  fio是专门用于测试磁盘IO的工具,与dd相比那是要强大非常多,它可以用于测试顺序读写、随机读写、顺序混合读写、随机混合读写,并且可以调整IO并发量,在测试完成后还会生成一份测试报告,相当给力

本人写了一个使用fio自动测试并整理报告的脚本,安装好fio后即可直接使用。

测试脚本地址如下: 

https://gist.github.com/sennajox/3667757

need-to-insert-img

3. iozone

相关文章

  • Linux 测试磁盘IO性能的几种方法(转)

    摘要:在磁盘测试中最关心的几个指标分别为:iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次...

  • sysbench安装和使用

    sysbench是一款测试工具 主要包括以下几种方式的测试: 1、cpu性能 2、磁盘io性能 3、调...

  • linux查看磁盘io的几种方法

    linux查看磁盘io的几种方法[https://www.jianshu.com/p/d4fdce247394] ...

  • 监控io性能、free、ps、查看网络状态和linux抓包工具

    监控io性能、free、ps、查看网络状态和linux抓包工具 一、监控io性能 1、iostat -x 磁盘使用...

  • fio命令

    FIO介绍FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以...

  • FIO

    FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情...

  • 2018-03-14.md

    # 磁盘IO性能测试报告 ### 测试目的: * 测试磁盘单线程写与多线程写的不同写入方式对于读取请求消耗时间的影响。

  • FIO 之入门指南

    一、概述 FIO 是一个开源的主流的 Linux 磁盘 IO 测试工具,可模拟各种IO workload,广泛用于...

  • Linux性能监测:磁盘IO篇

    http://9399369.blog.51cto.com/9389369/1738745

  • JavaWeb之四——IO调优

    磁盘IO调优 网络I/O调优 磁盘IO调优 性能检测 注: IO wait= (cpu idle time)/(a...

网友评论

      本文标题:Linux 测试磁盘IO性能的几种方法(转)

      本文链接:https://www.haomeiwen.com/subject/fkumbftx.html