14.3. 测量延迟
cnf-tests
镜像使用三种工具来测量系统的延迟:
-
hwlatdetect
-
cyclictest
-
oslat
每个工具都有特定的用途。按顺序使用工具来获取可靠的测试结果。
- hwlatdetect
-
测量裸机硬件可达到的基准。在继续执行下一个延迟测试前,请确保
hwlatdetect
报告的延迟满足所需的阈值,因为您无法通过操作系统调整来修复硬件延迟高峰。 - cyclictest
-
在
hwlatdetect
验证后验证实时内核调度程序延迟。cyclictest
工具调度重复的计时器,并测量所需与实际触发时间之间的差别。这种差别可以发现与中断或进程优先级导致的调优相关的基本问题。该工具必须在实时内核中运行。 - oslat
- 行为与 CPU 密集型 DPDK 应用程序类似,并测量模拟 CPU 繁重数据处理的忙碌循环和中断。
测试引入了以下环境变量:
环境变量 | 描述 |
---|---|
| 指定测试开始运行的时间(以秒为单位)。您可以使用变量来允许 CPU 管理器协调循环来更新默认的 CPU 池。默认值为 0。 |
| 指定运行延迟测试的 pod 使用的 CPU 数量。如果没有设置变量,则默认配置包含所有隔离的 CPU。 |
| 指定延迟测试必须运行的时间(以秒为单位)。默认值为 300 秒。 |
|
指定工作负载和操作系统的最大可接受硬件延迟(微秒)。如果您没有设置 |
|
指定 |
|
指定 |
| 指定以微秒为单位的最大可接受的延迟的统一变量。适用于所有可用延迟工具。 |
|
指明测试是否应该运行的布尔值参数。 |
特定于延迟工具的变量优先于统一变量。例如,如果 OSLAT_MAXIMUM_LATENCY
设置为 30 微秒,而 MAXIMUM_LATENCY
被设置为 10 微秒,则 oslat
测试将以最大可接受的延迟 30 微秒运行。