DapuStor R5100:挑战"RocksDB"性能测试
01 RocksDB简介
听说过RocksDB项目吗?这个项目最初是来自Facebook,目的就是让我们能够用快速存储设备来高效地存储和访问数据。它的代码起初是在开源项目LevelDB 1.5的基础上开发的,作为一个高性能的嵌入式Key-Value存储引擎,以库组件嵌入到各种程序中去。所以现在很多项目都把RocksDB当作后端存储的常用解决方案,比如Ceph、Mysql、MongoDB、TiDB等等。
今天我们要来看看,用DapuStor R5100 NVMe SSD和其他三款行业领先的NVMe SSD在RocksDB上做个对比测试。查看在同一平台相同配置下,不同的SSD在RocksDB上表现如何。
DapuStor R5100 NVMe SSD 产品基于自研控制器DP600和固件,搭载KIOXIA 112层3D Enterprise TLC, 为客户提供业界领先的高性能、高可靠。低延时的SSD。可广泛适用于企业IT、运营商、互联网、金融、智能制造、AI及大数据分析等行业的核心存储场景。
02 测试
我们的测试环境如下:
关于硬盘
不同厂家的SSD盘,每轮测试之前都会对对应的磁盘进行数据擦除,确保每个盘的测试预置条件一致。创建xfs文件系统,挂载时添加-o noatime,nodiratime 两参数。
关于db_bench
工具db_bench是用于对RocksDB性能进行benchmark测试的主要工具,Rocksdb继承了LevelDB的db_bench,并对其进行了增强以支持许多其他选项,支持许多基准测试来生成不同类型的工作负载,并且各种选项可用于控制测试。
db_bench 支持的benchmark较多,本文主要选取了readrandom (随机读), readrandomwriterandom(80%读,20%写)以及readwhilewriting (多线程读1线程写)三种workload。对每种workload分别进行了4k和16k block_size的测试 。并发线程数 threads分别设置为8,16,32,64,96。每轮测试开启之前都进行清缓存操作:sync;echo 3 > /proc/sys/vm/drop_caches 。
ReadRandom
Workload A——ReadRandom从已有的数据库中随机读取数据。
从以上几个图中可以看出DapuStor R5100 SSD的性能总体优于三个友商盘的性能,block_size为4k时随机读最大OPS高达111万,对比友商OPS最大有32%的提升,时延最大有32%的降低。Block_size为16k时最大OPS为83万,对比友商OPS最大同样有30%以上的提升,时延也有30%以上的降低。
ReadrandomWriterandom
Workload B——混合随机读写操作,读写比例为80%/20%
从以上几个图中可以看出DapuStor R5100 SSD的性能优于三个友商盘的性能,block_size为4k时随机读和随机写的OPS为82万,对比友商OPS最大有17%的提升,时延有14%的降低。Block_size为16k时最大OPS为66万,对比友商OPS最大有21%的提升,时延有17%的降低。
ReadwhileWriting
Workload C ——为多线程读单线程写
从以上几个图中可以看出DapuStor R5100 SSD的性能优于三个友商盘的性能,block_size为4k时多线程读单线程写的OPS为69万,对比友商OPS最大有17%的提升,时延有18%的降低。Block_size为16k时最大OPS为61万,对比友商OPS最大有19%的提升,时延有19%的降低。
03 总结
DapuStor R5100 SSD对比国内友商1性能有17%~32%的提升;对比国际友商3性能提升相近,但在随机读模型下最大有24%的提升,对比国际友商2对混合读写性能提升在17%左右,随机读模型下最高也有32%的提升。
综上可以得出结论,DapuStor R5100 SSD在几种workload场景模型下,都有更好的性能表现。配合RocksDB,能向客户提供高性能的混合工作负载,可满足诸多核心数据中心诉求,如数据库加速,缓存,在线交易处理等。因此,DapuStor R5100 SSD凭借其卓越的性能、可靠性和适应多种工作负载的能力,在国内和国际市场上都是极佳的企业级及数据中心SSD选择。