最近更新时间: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开启性能模式后的读写性能。
使用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_reportingks3fs开启性能优化后 | ks3fs未开启性能优化 | |
|---|---|---|
带宽 | 666.43 MB/s | 28.28 MB/s |
峰值内存 | 720 MB | 81 MB |
先清除系统页面缓存,再通过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=1ks3fs开启性能优化后 | ks3fs未开启性能优化 | |
|---|---|---|
带宽 | 1.08 GB/s | 28.06 MB/s |
峰值内存 | 2 GB | 68 MB |
在挂载目录/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=30ks3fs开启性能优化后 | ks3fs未开启性能优化 | |
|---|---|---|
带宽 | 1.61 GB/s | 81.8 MB/s |
峰值内存 | 8.3 GB | 82 MB |
创建名为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 128ks3fs开启性能优化后 | ks3fs未开启性能优化 | |
|---|---|---|
带宽 | 20.17 MB/s | 1.76 MB/s |
峰值内存 | 240MB | 260MB |
ks3fs开启性能优化模式后在各读写测试场景中均实现性能的大幅提升,对比未开启性能优化模式核心优势如下:
顺序写入性能:在单线程大文件顺序写入场景下,带宽提升了20倍以上。
顺序读取性能:在单线程或多线程(4线程)大文件顺序读取场景下,带宽提升了20倍以上。
小文件并发读取性能:在高并发(128线程)读取小文件的场景下,带宽提升了10倍以上。
ks3fs开启性能优化模式后可更好地满足大文件传输、高并发小文件访问等高性能读写需求,适合对存储读写性能有较高要求的业务场景。
纯净模式
