全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

ks3fs读写性能测试

最近更新时间:2026-04-02 21:18:53

ks3fs1.2.0版本开始引入了全新的读写性能优化模式(Performance Mode),该文档为ks3fs在开启性能优化模式后的读写性能测试结果,测试均基于HTTP内网域名环境执行,仅供参考。

测试环境与挂载配置

测试环境说明

  • 测试工具:FIO测试工具 。

  • 网络环境:本次测试均使用HTTP内网域名 。

挂载命令示例

在挂载存储空间时,通过开启performance模式并优化并发参数(如指定分片大小为 16MB)来获取最佳性能 :

ks3fs bucket:/folder /mnt/ks3 \
-o url=http://ks3-cn-beijing.ksyuncs.com \
-o sigv4 \
-o region=BEIJING \
-o performance \
-o prefetch_concurrency=240 \
-o upload_concurrency=240 \
-o prefetch_concurrency_per_file=64 \
-o parallel_count=64 \
-o enable_content_crc64 \
-o multipart_size=16

测试场景及结果

本次测试覆盖单线程顺序直写、单线程顺序读取、多线程顺序读取、高并发小文件读取四大核心场景,全面验证ks3fs开启性能模式后的读写性能。

场景一:单线程顺序直写100GB文件

测试命令

使用FIO工具执行单次单线程直接写测试,块大小1MB,向指定目录写入100GB 数据,命令如下:

fio --name=file-100G --ioengine=libaio --rw=write --bs=1M --size=100G --numjobs=1 --direct=1 --directory=/mnt/ks3/fio_direct_write --group_reporting

测试结果

ks3fs开启性能优化后

ks3fs未开启性能优化

带宽

666.43 MB/s

28.28 MB/s

峰值内存

720 MB

81 MB

场景二:单线程顺序读取100GB文件

测试命令

先清除系统页面缓存,再通过FIO工具对100GB文件执行单线程顺序读测试,块大小1MB,命令如下:

echo 1 > /proc/sys/vm/drop_caches
fio --name=file-100G --ioengine=libaio --direct=1 --rw=read --bs=1M --directory=/mnt/ks3/fio_direct_write --group_reporting --numjobs=1

测试结果

ks3fs开启性能优化后

ks3fs未开启性能优化

带宽

1.08 GB/s

28.06 MB/s

峰值内存

2 GB

68 MB

场景三:多线程顺序读取100GB文件

测试命令

在挂载目录/mnt/ks3/fio下创建4个100GB文件,用于多线程并发测试,创建命令如下:

fio --name=file-100g --ioengine=libaio --direct=1 --iodepth=1 --numjobs=4 --nrfiles=1 --rw=write --bs=1M --size=100G --group_reporting --thread --directory=/mnt/ks3/fio

清除系统页面缓存后,通过4个并发线程对4个100GB文件执行30秒顺序读测试,块大小1MB,命令如下:

echo 1 > /proc/sys/vm/drop_caches
fio --name=file-100g --ioengine=libaio --direct=1 --iodepth=1 --numjobs=4 --nrfiles=1 --rw=read --bs=1M --size=100G --group_reporting --thread --directory=/mnt/ks3/fio --time_based --runtime=30

测试结果

ks3fs开启性能优化后

ks3fs未开启性能优化

带宽

1.61 GB/s

81.8 MB/s

峰值内存

8.3 GB

82 MB

场景四:128线程并发读10万128KB文件

测试命令

创建名为rw-bench.go的Go语言程序,该程序具备以下能力:

  • 并发地在目标文件目录下创建若干个大小相同的文件。

  • 并发读取目标文件目录下的所有文件,将这些文件分配给n个线程进行读取操作,并且记录最终的带宽数据。

代码示例参考:点击下载

编译rw-bench.go程序文件。

go build rw-bench.go

在已挂载的KS3目录中,创建10万个128KB大小的文件。

mkdir -p <已挂载测试文件夹路径> && ./rw-bench --dir <已挂载测试文件夹路径> --file-size-KB 128 --file-count 100000 --write

清除系统页面缓存并执行该程序。

echo 1 > /proc/sys/vm/drop_caches
./rw-bench --dir <已挂载测试文件夹路径> --threads 128

测试结果

ks3fs开启性能优化后

ks3fs未开启性能优化

带宽

20.17 MB/s

1.76 MB/s

峰值内存

240MB

260MB

测试结论

ks3fs开启性能优化模式后在各读写测试场景中均实现性能的大幅提升,对比未开启性能优化模式核心优势如下:

  • 顺序写入性能:在单线程大文件顺序写入场景下,带宽提升了20倍以上。

  • 顺序读取性能:在单线程或多线程(4线程)大文件顺序读取场景下,带宽提升了20倍以上。

  • 小文件并发读取性能:在高并发(128线程)读取小文件的场景下,带宽提升了10倍以上。

ks3fs开启性能优化模式后可更好地满足大文件传输、高并发小文件访问等高性能读写需求,适合对存储读写性能有较高要求的业务场景。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈