性能测试

openGemini大约 2 分钟约 732 字

openGemini作为一款开源的时序数据库系统,社区蓬勃发展是广大开发者共同的心愿。性能作为数据库最为关键指标之一,很大程度上决定了社区未来能走多远。另一方面,数据库已经成为了企业信息化建设的重要组成部分,而数据库的性能则是企业信息化建设的关键因素之一。数据库性能的好坏直接影响到企业的业务流程和效率,因此,对于数据库的性能优化是非常重要的。正是如此,社区一直以来都将性能优化工作作为社区长期工作来抓。

测试场景

项目说明
压测工具TSBS (https://github.com/timescale/tsbsopen in new window)
测试模型devops
数据模型1DB 1个表 10tag 10field
数据量30万时间线;25.92亿points,原始数据大小(gzip压缩) 88G
节点数
机器规格32U128G

写性能

数据库并发数30万时间线(rows/sec)磁盘大小
openGemini v1.1.0-rc132392,915.4515GB
InfluxDB 2.x OSS3287,196.6314GB
国内其他 OSS32361,871.2520GB

1 row = 10tag + 10field, 这里1个field类似于一个设备上的点位,换算为metrics,1 row = 10 metrics

纵向对比

场景并发数v1.1.0-rc1(平均时延ms)v1.0.1-(平均时延ms)
single-groupby-1-1-12327.1717.07
single-groupby-1-1-1323.126.67
single-groupby-1-8-1327.313.35
single-groupby-5-1-123213.3536.37
single-groupby-5-1-1324.5512.41
single-groupby-5-8-13210.123.01
cpu-max-all-1326.8919.54
cpu-max-all-83216.8840.01
double-groupby-1824,71930,408.05
double-groupby-5851,478.4367,023.02
double-groupby-all877,594.5285,673.76
lastpoint854,672.3564,107.8
groupby-orderby-limit29,225.74116,212.15
high-cpu-13219.9937.65
high-cpu-all135,201.1109,319.78

场景说明,比如single-groupby-1-1-12 代表什么意思,见TSBS 基准测试场景介绍open in new window

横向对比

场景并发openGemini v1.1.0-rc1InfluxDB 2.x OSS国内其他 OSS
single-groupby-1-1-12327.1724.8914.18
single-groupby-1-1-1323.124.2810.72
single-groupby-1-8-1327.312.1780.05
single-groupby-5-1-123213.35101.6319.75
single-groupby-5-1-1324.5512.0413.67
single-groupby-5-8-13210.148.6109.96
cpu-max-all-1326.8913.8617.84
cpu-max-all-83216.8891.8213.23
double-groupby-1824,719243,356.06141,016.09
double-groupby-5851,478.43122,317.54205,317.78
double-groupby-all877,594.52OOM>5min
lastpoint854,672.35OOM826,563.36
groupby-orderby-limit29,225.74OOM503,419.97
high-cpu-13219.9923.4119.78
high-cpu-all135,201.1OOM查询失败

总结

  • 相比v1.0.1版本,简单查询场景(single-*,cpu-*)提升2x-3x。复杂查询场景(double-*, last-*, high-cpu-all)提升20%-30%,即10秒左右,虽然提升幅度看似不大,但对于应用来说,这个结果是一个非常可观的性能提升。
  • 相比其他时序数据库,openGemini具有明显性能优势。