CnosDB vs OpenTSDB
CnosDB 2.3.4.4 vs OpenTSDB 2.4.1
在CnosDB 2.3.4.4 和 OpenTSDB 2.4.1 之间做了写入、查询和压缩比性能测试的对比,下面是测试结论和测试细节信息。
测试结论
在写入、查询和压缩比方面,CnosDB均更优于OpenTSDB
测试前期
1.测试环境准备
CPU:64 CPUs x Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
内存:256 GB
硬盘:SSD NVMe 协议
2.测试实例准备
提前安装好对应机器的db环境,确保可以正常连接。
安装 CnosDB
参照部署文档:安装CnosDB
安装 OpenTSDB
首先,安装HBase,参照官网:HBase
其次,下载并安装OpenTSDB 2.4.1
3.配置项检查及修改
CnosDB和OpenTSDB均修改了存储文件夹路径,并要求CPU使用核数为8,Memory使用大小为32G/64G。
4.数据集准备
- 50GB,约 110 billion 测点数据
- 时间跨度:2018/01-2018/06
- 数据分布:平均分布
测试中期
生成数据种子:654147269
- 启动CnosDB
nohup ./target/release/cnosdb run --config ./config/config_8902.toml -M singleton &
- 启动OpenTSDB
在HBase创建OpenTSDB表:env COMPRESSION=NONE /usr/share/opentsdb/tools/create_table.sh
启动OpenTSDB:/usr/shard/opentsdb/bin/tsdb tsd
写入测试结果
CPU/Memory | CnosDB 2.3.4.4 | OpenTSDB 2.4.1 |
---|---|---|
8C32G | 20w | 2w |
8C64G | 25w | 2.2w |
查询测试结果
SQL | CnosDB 2.3.4.4 | OpenTSDB 2.4.1 |
---|---|---|
5个月每分钟的最大usage_user值: select date_bin(INTERVAL '1' MINUTE,time, TIMESTAMP '2018-01-01T00:00:00'), max(usage_user) from cpu where hostname = 'host_0' and time >= '2018-01-01T00:00:00Z' and time <= '2018-06-01T00:00:00Z' group by date_bin(INTERVAL '1' MINUTE,time, TIMESTAMP '2018-01-01T00:00:00') limit 10; | 19ms | 1845ms |
2个月每分钟的最大usage_user值: select date_bin(INTERVAL '1' MINUTE,time, TIMESTAMP '2018-01-01T00:00:00'), max(usage_user) from cpu where hostname = 'host_0' and time >= '2018-01-01T00:00:00Z' and time <= '2018-03-01T00:00:00Z' group by date_bin(INTERVAL '1' MINUTE,time, TIMESTAMP '2018-01-01T00:00:00') limit 10; | 17ms | 269ms |
压缩比测试结果
CnosDB 2.3.4.4 | OpenTSDB 2.4.1 | |
---|---|---|
原始数据 | 50G | 50G |
写入后落盘数据 | 4.8G | 26G |
压缩比 | 10.4 | 1.9 |