跳到主要内容
版本:2.3.x

CnosDB vs OpenTSDB

CnosDB 2.3.4.4 vs OpenTSDB 2.4.1

CnosDB 2.3.4.4OpenTSDB 2.4.1 之间做了写入、查询和压缩比性能测试的对比,下面是测试结论和测试细节信息。

测试结论

在写入、查询和压缩比方面,CnosDB均更优于OpenTSDB

测试前期

1.测试环境准备

CPU:64 CPUs x Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz

内存:256 GB

硬盘:SSD NVMe 协议

2.测试实例准备

  1. 提前安装好对应机器的db环境,确保可以正常连接。

  2. 安装 CnosDB

    参照部署文档:安装CnosDB

  3. 安装 OpenTSDB

    首先,安装HBase,参照官网:HBase

    其次,下载并安装OpenTSDB 2.4.1

3.配置项检查及修改

 CnosDB和OpenTSDB均修改了存储文件夹路径,并要求CPU使用核数为8,Memory使用大小为32G/64G。

4.数据集准备

  1. 50GB,约 110 billion 测点数据
  2. 时间跨度:2018/01-2018/06
  3. 数据分布:平均分布

测试中期

测试工具

生成数据种子:654147269

  1. 启动CnosDB
nohup ./target/release/cnosdb run --config ./config/config_8902.toml -M singleton &
  1. 启动OpenTSDB
在HBase创建OpenTSDB表:env COMPRESSION=NONE /usr/share/opentsdb/tools/create_table.sh
启动OpenTSDB:/usr/shard/opentsdb/bin/tsdb tsd

写入测试结果

CPU/MemoryCnosDB 2.3.4.4OpenTSDB 2.4.1
8C32G20w2w
8C64G25w2.2w

查询测试结果

SQLCnosDB 2.3.4.4OpenTSDB 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;19ms1845ms
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;17ms269ms

压缩比测试结果

CnosDB 2.3.4.4OpenTSDB 2.4.1
原始数据50G50G
写入后落盘数据4.8G26G
压缩比10.41.9