# Bitalostored

  • bitalostored在性能上持续精进,此次性能测试基于bitalostored v6.0;当前有数款知名的开源存储系统(兼容redis协议),同为redis的替代品,选取其中性能优秀的两款产品(*d* 与 *i*)做性能对比。

# 硬件

CPU:    Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
Memory: 384GB
Disk:   2*3.5TB SSD
  • Disk(File) IOPS(BW)
BlockSize Write RandWrite Read RandRead
4KB 294K(1150MiB/s) 232K(905MiB/s) 446K(1742MiB/s) 446K(1743MiB/s)
8KB 266K(2080MiB/s) 244K(1902MiB/s) 309K(2414MiB/s) 404K(3159MiB/s)

# 程序

  • 压测工具:redis官方memtier_benchmark

  • 存储服务:线程数(8)、CPU限制(8核)

  • 压测命令:--data-size=1024|128、-n=40672038|335544320

./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="set __key__ __data__" --key-prefix="performance_test_key_prefix_" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="get __key__" --key-prefix="performance_test_key_prefix_" --key-minimum=1 --key-maximum=40672038 --test-time=300
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="incr __key__" --key-prefix="int_" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="lpush __key__ __data__" --key-prefix="list_" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="sadd __key__ __data__" --key-prefix="set_" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="zadd __key__ __key__ __data__" --key-prefix="" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750
./memtier_benchmark -t 16 -c 32 -s 127.0.0.1 -p xxxx --distinct-client-seed --command="hset __key__ __data__ __key__" --key-prefix="hash_" --key-minimum=1 --key-maximum=40672038 --random-data --data-size=1024 -n 317750

# 数据

  • 数据总量:40GB

  • 对比维度:命令(SET、GET、INCR、LPUSH、SADD、ZADD、HSET) x 数据大小&条数(1KB & 40,672,000、128B & 335,544,320)

  • 对比标准:多核压测QPS换算成单核QPS对比,单核性能更能体现成本优势

# 配置

  • *d* & *i*
Threads:8
Memtable:512MB
WAL:enable
Binlog:disable
Cache:40GB

其余参数使用官方推荐压测配置
  • bitalostored
Threads:8
Memtable:512MB
WAL:enable
Raftlog:disable
Cache:0GB~40GB

# 结果

  • QPS

benchmark

  • QPS (Horizontal)

benchmark

ZUOYEBANG