• Linux系统---硬盘性能测试


       若使用FIO工具进行裸盘测试,不建议在已创建文件系统的磁盘上测试,因为FIO性能测试裸盘会破坏文件系统。如果需要,请在测试开始前对磁盘数据进行备份,防止造成数据丢失。

         本文为Linux系统下采用FIO工具的测试,以此作为云硬盘产品性能指标参考。Linux系统和Windows系统都推荐使用FIO工具测试云硬盘性能。

         操作步骤

           1. 连接云主机,切换为root用户;

           2. 安装FIO性能测试工具;

               yum install libaio -y

               yum install libaio-devel -y

               yum install fio -y

           3. 确认云硬盘是否已经4KB对齐。

               fdisk -lu

               返回的结果中,若Start值能被8整除则是4KB对齐。否则,请完成4KB对齐后再继续性能测试。

               Device     Boot Start      End  Id System

               /dev/vda1  *     2048 58598521   83 Linux

           4. 运行以下命令测试云硬盘性能。

               随机写IOPS

               fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest -name=Rand_Write_IOPS_Test

               随机读IOPS

               fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest -name=Rand_Read_IOPS_Test

               顺序写吞吐量

               fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest -name=Write_BW_Test

               顺序读吞吐量

               fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest -name=Read_BW_Test

      参数说明

    参数

    说明

    Direct

    表示数据写是否经过缓存,0表示经过缓存,1表示不经过缓存

    Iodepth

    表示测试时的每个线程的IO队列深度,即每个线程的IO并发数

    Rw

    表示测试时的IO读写模式

    read

    顺序读

    write

    顺序写

    randread

    随机读

    randwrite

    随机写

    randrw

    混合随机读和写

    ioengine

    定义fio如何下发IO请求,通常有同步IO和异步IO:

    l 同步IO一次只能发出一个IO请求,等待内核完成后才返回。这样对于单个线程IO队列深度总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32个线程同时工作把IO队列深度塞满。

    l 异步IO则通常使用libaio这样的方式一次提交一批IO 请求,然后等待一批的完成,减少交互的次数,会更有效率。

    bs

    表示单次I/O的块文件大小

    size

    表示测试文件的大小

    numjobs

    表示测试线程数

    runtime

    表示测试时长

    group_reporting

    表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。

    filename

    表示测试文件的名称

    name

    表示该测试任务名称,可随意定义

  • 相关阅读:
    深入浅出JavaScript (一)初识
    “0”基础让你学会 GridView (一)
    VS 中PageLayout 属性设置
    ASP.NET Forms身份认证
    教务系统数据库设计 (一)
    深入浅出Javascript(三)创建自定义对象以及属性、方法
    .NET 中的Cache
    深入浅出JavaScript (二) 代码放置位置与执行顺序
    触发器特殊的存储过程
    ASP.NET与JavaScript轻松实现输入信息验证
  • 原文地址:https://www.cnblogs.com/chalon/p/14606179.html
Copyright © 2020-2023  润新知