Red Hat Training
A Red Hat training course is available for RHEL 8
第 4 章 测试 VDO 性能
您可以执行一系列测试来测量 VDO 的性能,使用 VDO 获取系统性能配置文件,并确定哪些应用程序在使用 VDO 时表现良好。
先决条件
- 一个或多个 Linux 物理块设备可用。
-
目标块设备(如
/dev/sdb
)大于 512 GiB。 -
灵活的 I/O 测试器(
fio
)已安装。 - 已安装 VDO。
4.1. 为 VDO 性能测试准备环境
在测试 VDO 性能前,您必须考虑主机系统配置、VDO 配置以及测试过程中使用的工作负载。这些选择会影响空间效率、带宽和延迟程度基准测试。
要防止一个测试影响另一个测试的结果,您必须为每个测试的迭代创建一个新的 VDO 卷。
4.1.1. 测试 VDO 性能前的注意事项
以下条件和配置会影响 VDO 测试结果:
系统配置
-
可用 CPU 内核数和类型。您可以使用
taskset
工具列出此信息。 - 可用内存和总安装内存
- 存储设备配置
- 活跃磁盘调度程序
- Linux 内核版本
- 安装的软件包
VDO 配置
- 分区方案
- VDO 卷中使用的文件系统
- 分配给 VDO 卷的物理存储大小
- 创建的逻辑卷的大小
- 稀疏或密度 UDS 索引
- 内存大小的 UDS Index
- VDO 线程配置
工作负载
- 生成测试数据的工具类型
- 并发客户端数
- 写入数据中重复的 4 KiB 块的数量
- 读和写的特征
- 工作集大小
4.1.2. 测试 VDO 读取性能的特殊考虑
在测试 VDO 读取性能前,您必须考虑这些额外因素:
- 如果从没有写入 4 KiB 块,VDO 不会从存储中读取,而是立即使用零块进行响应。
- 如果写入了 4 KiB 块但包含所有的零,VDO 不会从存储中读取,并用零块立即响应。
当没有可读取数据时,读取性能会非常快。这是为什么读测试必须在卷前使用实际数据。
4.1.3. 准备系统测试 VDO 性能
此流程将系统设置配置为在测试过程中获得最佳 VDO 性能。
重要
测试超过特定测试中列出的范围可能会导致因为一般结果导致测试时间丢失。
例如,VDO 测试描述了一个测试,它对 100 GiB 地址范围执行随机读取。要测试一组 500 GiB,您必须相应地增加为 VDO 块映射缓存分配的 RAM 量。
流程
- 确定您的 CPU 在最高级别的性能设置中运行。
-
如果可能,使用 BIOS 配置或 Linux
cpupower
工具禁用 CPU 频率扩展。 - 如果可能,请为 CPU 启用动态处理器频率调整(Turbo Boost 或者 Turbo Core)。此功能在测试结果中引入了一些变化,但提高了整体性能。
文件系统可能会对性能有唯一影响。它们通常会扭曲性能测量,使其更难隔离 VDO 对结果的影响。
如果需要,测量原始块设备的性能。如果无法做到这一点,请格式化在目标实施中使用 VDO 所需文件系统的设备。