简单整理部分常用的工具。
ldb
RocksDB 提供了一个不错的压测工具,可以用来对性能从各个维度进行评估,例如顺序读写、随机读写、热点读写、删除、合并、查找、校验等等。
安装
可以直接通过 make db_bench DEBUG_LEVEL=0
进行编译,需要 gflags
的支持,否则运行会报 Please install gflags to run rocksdb tools
的错误。
gflags 是 Google 提供的一个命令行参数处理的开源库,比传统的
getopt()
功能更加强大,可以将不同的参数定义分布到各个源码文件中,不需要集中管理。
对于 gflags 包的安装可以参考。。。,为了支持一些常见的压缩算法,需要同时安装如下的库,默认使用的是。
yum install snappy snappy-devel
yum install zlib zlib-devel
yum install bzip2 bzip2-devel
yum install lz4-devel
zstardard
如果因为没有安装上述的压缩库,可以通过 --compression_type=none
参数指定不压缩。
----- 最简单的测试,可以输出详细的测试结果信息
./db_bench --benchmarks="fillseq"
./db_bench --benchmarks="fillseq,stats"
./db_bench --benchmarks="fillseq,stats" --compression_type=none
blob_dump
block_cache_trace_analyzer
db_stress
db_repl_stress
sst_dump
db_sanity_test
rocksdb_dump
trace_analyzer
ldb
rocksdb_undump
db_bench
write_stress
参考
- Benchmarking tools 官方关于压测工具的基本介绍,同时还有 Performance Benchmarks、In Memory Workload Performance Benchmarks 。
- 对于磁盘的基本性能压测,可以使用 Flexible I/O Tester FIO 工具,同样提供了灵活的压测参数。