本文档记录数据集加速前后的对比性能测试结果。测试覆盖了对象存储(ZOS)和并行文件服务(HPFS)两种存储后端,在不同存储介质(SSD、MEM)和不同部署环境(弹性云主机、物理机)下的性能表现,并与未加速场景进行了对比分析。
相关说明
天翼云智算套件提供基于fluid的数据集加速解决方案,通过本地缓存机制显著提升数据访问性能。该功能支持:
多种存储后端:支持对象存储S3 和 数据卷PVC
多种缓存介质:支持 SSD 和内存(MEM)缓存介质
智能缓存策略:支持数据预热和缓存管理
跨节点访问优化:优化跨节点数据访问性能
测试环境说明
测试数据量:15GB
并发配置:8 并发,块大小 1MB
读服务资源:2C4G
缓存配额:100G
存储介质配置:
SSD:使用超高 IO 磁盘或物理机 NVMeSSD
MEM:存储路径配置为 /dev/shm
测试步骤
一、访问ZOS(对象存储)测试
1.1 数据准备
1、创建存储资源
创建对象存储类型的 StorageClass(SC)
创建 PersistentVolumeClaim(PVC)
2、创建工作负载
创建工作负载并挂载步骤 1 中创建的 PVC
进入容器执行数据写入操作
3、数据写入 使用 fio 工具执行数据写入测试:
fio --name=seqwrite-single \
--filename=file1 \
--rw=write \
--bs=1M \
--size=15G \
--numjobs=8 \
--iodepth=4 \
--direct=11.2 数据集加速配置
存储介质:分别使用 SSD 和 MEM
存储配额:设置为 100G,确保远端数据可以全部缓存在本地
SSD 配置:云主机使用超高 IO 磁盘,物理机环境下使用 NVMeSSD
MEM 配置:存储路径配置为 /dev/shm
1.3 读服务配置
资源配置:2C4G
读测试命令:
fio --name=seqread-single \
--filename=file1 \
--rw=read \
--bs=1M \
--size=15G \
--numjobs=8 \
--iodepth=4 \
--direct=1测试场景:通过配置 nodeSelector 分别测试本地读和跨节点读
1.4 测试结果
| 未加速 | 开启加速 | |||||
|---|---|---|---|---|---|---|
| 物理机 | 弹性云主机 | 物理机 | 弹性云主机 | |||
| MEM | SSD | MEM | SSD | |||
| 本地首次读 | 321MB/s-321MB/s | 187MB/s-188MB/s | 182MB/s-182MB/s | 182MB/s-182MB/s | 193MB/s-193MB/s | 172MB/s-172MB/s |
| 预热首次读 | --- | --- | 2505MB/s-2675MB/s | 2469MB/s-2469MB/s | 644MB/s-649MB/s | 665MB/s-681MB/s |
| 本地稳定读 | 384MB/s-384MB/s | 230MB/s-232MB/s | 2726MB/s-2726MB/s | 2625MB/s-2626MB/s | 663MB/s-674MB/s | 686MB/s-692MB/s |
| 跨节点读 | --- | --- | 366MB/s-400MB/s | 367MB/s-401MB/s | 377MB/s-391MB/s | 376MB/s-397MB/s |
1.5 加速效果分析
首次读性能在加速与未加速场景下无明显差异;
预热后读,或者本地稳定读场景下,加速效果显著,物理机环境下可达到 2700+ MB/s,相较于未加速提升3~7倍;
跨节点读取时,相比本地稳定读性能有所下降,但仍高于未加速场景。
二、访问HPFS(并行文件服务)测试
HPFS 的性能随文件系统容量线性增长。生产目前主要是 200 MB/s/TB。起始容量0.5TB。
以200 MB/s/TB基线的性能规格为例,每TB容量可获得最大200MB/s的带宽吞吐能力,例如您创建0.5TB的文件系统,则此文件系统可达到的最大带宽为:200(MB/s/TB) * 0.5 (TB)= 100(MB/s)。
详细请参见: HPFS 产品规格
2.1 数据准备
1、创建存储资源
创建 HPFS 类型的 StorageClass(SC)
创建 PersistentVolumeClaim(PVC)
2、创建工作负载
创建工作负载并挂载步骤 1 中创建的 PVC
进入容器执行数据写入操作
3、数据写入 使用 fio 工具执行数据写入测试:
fio --name=seqwrite-single \
--filename=file1 \
--rw=write \
--bs=1M \
--size=15G \
--numjobs=8 \
--iodepth=4 \
--direct=12.2 数据集加速配置
存储介质:分别使用 SSD 和 MEM
存储配额:设置为 100G,确保远端数据可以全部缓存在本地
SSD 配置:物理机环境下使用 NVMe SSD
MEM 配置:存储路径配置为 /dev/shm
2.3 读服务配置
资源配置:2C4G
读测试命令:
fio --name=seqread-single \
--filename=file1 \
--rw=read \
--bs=1M \
--size=15G \
--numjobs=8 \
--iodepth=4 \
--direct=1测试场景:通过配置 nodeSelector 分别测试本地读和跨节点读
2.4 测试结果
| 未加速 | 加速 | ||
|---|---|---|---|
| MEM | SSD | ||
| 本地首次读 | 13.1MB/s-13.2MB/s | 103MB/s-103MB/s | 103MB/s-103MB/s |
| 预热首次读 | --- | 2501MB/s-2669MB/s | 2469MB/s-2469MB/s |
| 本地稳定读 | 13.1MB/s-13.2MB/s | 2720MB/s-2726MB/s | 2620MB/s-2622MB/s |
| 跨节点读 | --- | 369MB/s-400MB/s | 365MB/s-399MB/s |
2.5 加速效果分析
首次读取时,由于本测试创建0.5TB的文件系统,此文件系统可达到的最大带宽为100(MB/s)。未加速下n并发时性能即为100/n (MB/s), 而加速场景下业务并发从缓存读取数据,HPFS带宽主要影响缓存引擎读取数据,因此并发场景下读取性能提升显著;
加速提升效果受文件系统容量、并发数影响。文件系统容量越大,最大带宽越大,性能提升相应降低;读文件并发数越大,未加速情况下单线程拥有带宽越小,相应加速性能提升越大;
预热后读,或者本地稳定读场景下,加速效果显著,物理机环境下可达到 2700+ MB/s,以本测试为例,加速提升200倍;
跨节点读取时,相比本地稳定读性能有所下降,但仍远高于未加速场景。
附录
测试工具说明
fio:用于磁盘 I/O 性能测试的工具
测试参数:
--numjobs=8:8 个并发任务
--bs=1M:块大小 1MB
--size=15G:测试数据量 15GB
--iodepth=4:I/O 深度 4
--direct=1:直接 I/O,绕过操作系统缓存