## 测试目标与场景
- 目标:稳定观察 99.99P 尾延迟,评估队列深度与并发对随机写/读性能的一致性影响。
- 场景:在线数据库、日志系统、消息队列等对尾延迟敏感的工作负载。
## 方法与命令
### 1)随机读(4K)尾延迟观测
numactl --cpunodebind=0 --membind=0 \
fio --name=randread_p9999 --filename=/dev/nvme0n1 --rw=randread --bs=4k \
--iodepth=64 --numjobs=8 --ioengine=io_uring --direct=1 \
--runtime=180 --time_based=1 --group_reporting --lat_percentiles=1 \
--percentile_list=99.0,99.9,99.99
### 2)随机写(4K)尾延迟观测
numactl --cpunodebind=0 --membind=0 \
fio --name=randwrite_p9999 --filename=/dev/nvme0n1 --rw=randwrite --bs=4k \
--iodepth=64 --numjobs=8 --ioengine=io_uring --direct=1 \
--runtime=300 --time_based=1 --group_reporting --lat_percentiles=1 \
--percentile_list=99.0,99.9,99.99
### 3)队列深度与并发灵敏度
- 将 `iodepth` 在 16/32/64/128 间变更,`numjobs` 在 4/8/16 间变更。
- 记录:在不同组合下的 IOPS 与 99.99P 延迟变化,找出拐点与稳定区间。
## 结果阅读与建议
- 关注 99.99P 值的稳定性与抖动范围;过高的并发可能提升 IOPS 但恶化尾延迟。
- 数据库型负载更偏好低尾延迟的稳定设备与配置;以实测拐点设置并发参数。
## 注意事项
- 均在本地 NUMA 节点执行,避免跨节点影响。
- 长时随机写需关注热节流与写放大;结合 SMART 记录温度与节流计数。

发表评论 取消回复