【Microsoft Azure 的1024种玩法】 十一. 手动对Azure磁盘进行IOPS性能压力测试

【简介】

本文章将在Azure VM Linux 中使用FIO工具测试块存储性能,包括IOPS、吞吐量、时延等。因不同工具测试的硬盘基准性能会有差异,如dd、sysbench、iometer等工具可能会受到测试参数配置和文件系统影响,难以反映真实性能。本示例的性能参数,均为Linux系统下采用FIO工具的测试结果,以此作为存储性能测试的指标参考。

【前期文章】

【Microsoft Azure 的1024种玩法】一.一分钟快速上手搭建宝塔管理面板【Microsoft Azure 的1024种玩法】二.基于Azure云平台的安全攻防靶场系统构建【Microsoft Azure 的1024种玩法】三.基于Azure云平台构建Discuz论坛【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘【Microsoft Azure 的1024种玩法】五.基于Azure Cloud Shell 一站式创建Linux VM【Microsoft Azure 的1024种玩法】六、使用Azure Cloud Shell对Linux VirtualMachines 进行生命周期管理【Microsoft Azure 的1024种玩法】七.Azure云端搭建部署属于自己的维基百科【Microsoft Azure 的1024种玩法】八. 基于Azure云端轻松打造一款好用的私有云笔记【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库【Microsoft Azure 的1024种玩法】十. 基于Azure App Service 快速上手部署 ASP.NET Web 应用
【Microsoft Azure 的1024种玩法】十一.手动对Azure磁盘进行IOPS性能压力测试

【一.性能指标概述】

衡量存储的性能指标主要包括IOPS、吞吐量和访问时延。

  • IOPS(Input/Output Operations per Second)
    IOPS指每秒能处理的I/O个数,表示块存储处理读写(输出/输入)的能力,单位为次,常用的IOPS指标包括顺序操作和随机操作,如下表所示
指标描述数据访问方式
总IOPS每秒执行的I/O操作总次数对硬盘存储位置的不连续访问和连续访问
随机读IOPS每秒执行的随机读I/O操作的平均次数对硬盘存储位置的不连续访问
随机写IOPS每秒执行的随机写I/O操作的平均次数对硬盘存储位置的不连续访问
顺序读IOPS每秒执行的顺序读I/O操作的平均次数对硬盘存储位置的连续访问
顺序写IOPS每秒执行的顺序写I/O操作的平均次数对硬盘存储位置的连续访问
  • 吞吐量(Throughput)
    吞吐量是指单位时间内可以成功传输的数据数量,单位为MB/s。如果您需要部署大量顺序读写的应用,例如Hadoop离线计算型业务等典型场景,需要关注吞吐量。

  • 访问时延(Latency)
    访问时延是指块存储处理一个I/O需要的时间,单位为s、ms或者μs。过高的时延会导致应用性能下降或报错。

二.创建Azure VM虚拟机

三. 远程连接云服务器

3.1 使用远程工具登陆到服务器中

3.2 切换至root用户账号,执行命令安装FIO工具进行测试

3.3通过Fdisk命令查看当前分区

四.云盘性能测试

4.1. 随机写IOPS测试

注意:本示例中,使用的设备名为/dev/sdc,需要根据实际情况替换。例如需要测试的云盘为/dev/sdb,则将以下示例命令中的/dev/sdc替换为/dev/sdb。

①执行命令如下进行随机写IOPS测试:

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sdc -name=Rand_Write_Testing

②执行完毕对结果进行输出如下内容:

③测试总结:

WRITE: bw=13.4MiB/s (14.0MB/s), 13.4MiB/s-13.4MiB/s (14.0MB/s-14.0MB/s), io=1024MiB (1074MB), run=76465-76465msec

Disk stats (read/write): sdc: ios=38/261925, merge=0/0, ticks=2630/9752563, in_queue=9755193, util=99.94%

4.2 随机读IOPS测试:

①执行命令如下对随机读IOPS测试:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sdc -name=Rand_Read_Testing

②执行完毕对结果进行输出如下内容:

③测试总结:

Run status group 0 (all jobs):WRITE: bw=162MiB/s (170MB/s), 162MiB/s-162MiB/s (170MB/s-170MB/s), io=1024MiB (1074MB), run=6307-6307msec

Disk stats (read/write): sdc: ios=42/1991, merge=0/0, ticks=87/751662, in_queue=751749, util=98.32%

4.3 顺序写吞吐量测试

①执行命令如下进行

fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sdc -name=Write_PPS_Testing

②执行完毕对结果进行输出如下内容:

③测试总结:

Run status group 0 (all jobs):

WRITE: bw=163MiB/s (171MB/s), 163MiB/s-163MiB/s (171MB/s-171MB/s), io=1024MiB (1074MB), run=6266-6266msec

Disk stats (read/write): sdc: ios=42/1993, merge=0/0, ticks=69/746895, in_queue=746964, util=97.42%

4.4 顺序读吞吐量测试:

①执行命令如下进行顺序读吞吐量测试

fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sdc -name=Read_PPS_Testing

②执行完毕对结果进行输出如下内容:

③测试结果:

Run status group 0 (all jobs):READ: bw=163MiB/s (171MB/s), 163MiB/s-163MiB/s (171MB/s-171MB/s), io=1024MiB (1074MB), run=6281-6281msec

Disk stats (read/write): sdc: ios=2008/0, merge=0/0, ticks=752877/0, in_queue=752877, util=96.54%

4.5.随机写时延测试

①执行命令如下进行随机写时延测试

fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=/dev/sdc-name=Rand_Write_Latency_Testing

②执行完毕对结果进行输出如下内容:

③测试结果:

Run status group 0 (all jobs): WRITE: bw=1755KiB/s (1797kB/s), 1755KiB/s-1755KiB/s (1797kB/s-1797kB/s), io=1024MiB (1074MB), run=597520-597520msec

Disk stats (read/write): sdc: ios=31/262087, merge=0/0, ticks=53/307205, in_queue=307258, util=93.31%

4.6.随机读时延测试:

①执行命令如下进行随机读时延测试

fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=/dev/sdc -name=Rand_Read_Latency_Testing

②执行完毕对结果进行输出如下内容:

③测试结果:
Run status group 0 (all jobs): READ: bw=979KiB/s (1002kB/s), 979KiB/s-979KiB/s (1002kB/s-1002kB/s), io=1024MiB (1074MB), run=1071206-1071206msec
Disk stats (read/write): sdc: ios=262097/0, merge=0/0, ticks=467710/0, in_queue=467710, util=65.17%

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值