tencent cloud

云硬盘

新手指引
产品公告
腾讯云云硬盘快照正式商业化计费公告
腾讯云云硬盘快照跨地域复制功能正式商业化计费公告
产品简介
产品概述
产品优势
应用场景
地域和可用区
云硬盘实例
云硬盘快照
访问管理
相关产品
上一代产品
Service Regions and Service Providers
产品计费
计费概述
价格总览
购买指引
续费指引
欠费说明
快速入门
步骤1:创建云硬盘
步骤2:挂载云硬盘
步骤3:初始化云硬盘
用户指南
操作总览
使用限制
创建云硬盘
挂载云硬盘
初始化云硬盘
扩容云硬盘
卸载云硬盘
销毁云硬盘
查看云硬盘信息
调整云硬盘类型
调整云硬盘性能
云硬盘数据防护配置
云硬盘数据备份点
管理快照
监控与告警
实践教程
如何衡量云硬盘的性能
多块弹性云硬盘构建 LVM 逻辑卷
MBR 分区云硬盘扩容至大于 2TB
故障处理
Windows 云服务器无法卸载云硬盘
Linux 云服务器重启后云硬盘未自动挂载
API 文档
History
Introduction
API Category
Making API Requests
Snapshot APIs
Cloud Disk APIs
Data Types
Error Codes
常见问题
功能相关问题
计费相关问题
性能相关问题
快照相关问题
使用相关问题
服务等级协议
联系我们
词汇表
文档云硬盘实践教程如何衡量云硬盘的性能

如何衡量云硬盘的性能

PDF
聚焦模式
字号
最后更新时间: 2023-12-19 16:19:04

操作前须知(重要)

警告:
本文使用 FIO 作为测试工具,请不要在系统盘上进行 FIO 测试,避免损坏系统重要文件
为避免底层文件系统元数据损坏导致数据损坏,请不要在业务数据盘上进行测试。请使用测试机器未存放业务数据的云硬盘进行压测,并提前 创建快照 保障您的数据安全。
请确保/etc/fstab文件配置项中没有被测硬盘的挂载配置,否则将导致云服务器启动失败。

衡量指标

腾讯云提供的块存储设备根据类型的不同拥有不同的性能和价格,详细信息请参考 云硬盘类型。由于不同应用程序的工作负载不同,若未提供足够的 I/O 请求来充分利用云硬盘时,可能无法达到云硬盘的最大性能。 一般使用以下指标衡量云硬盘的性能:
IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。
吞吐量:每秒的读写数据量,单位为MB/s。
时延:I/O 操作的发送时间到接收确认所经过的时间,单位为微秒。

测试工具

FIO 是测试磁盘性能的工具,用来对硬件进行压力测试和验证,本文以 FIO 为例。 使用 FIO 时,建议配合使用 libaio 的 I/O 引擎进行测试。请参考 工具安装 完成 FIO 和 libaio 的安装。

测试对象建议

建议在空闲的、未保存重要数据的硬盘上进行 FIO 测试,并在测试完后重新制作被测硬盘的文件系统。
测试硬盘性能时,建议直接测试裸数据盘(如 /dev/vdb)。
测试文件系统性能时,推荐指定具体文件测试(如 /data/file)。

工具安装

1. 参考 使用标准登录方式登录 Linux 实例(推荐) 登录云服务器,本文以 CentOS 7.6 操作系统的云服务器为例。
2. 执行以下命令,查看云硬盘是否4KiB对齐。
fdisk -lu
如下图所示,若返回结果中的 Start 值能被8整除即是4KiB对齐。否则请完成4KiB对齐后再进行测试。


3. 依次执行以下命令,安装测试工具 FIO 和 libaio。
yum install libaio -y
yum install libaio-devel -y
yum install fio -y
安装完成后,请参考测试示例开始云硬盘性能测试。

测试示例

不同场景的测试公式基本一致,只有 rw、iodepth 和 bs(block size)三个参数的区别。例如,每个工作负载适合最佳 iodepth 不同,取决于您的特定应用程序对于 IOPS 和延迟的敏感程度。
参数说明:
参数名
说明
取值样例
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
常见用例如下:


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈