网站导航

开云app新闻 > 开云app-吃下 GuanceDB 狗粮后,观测云查询性能提升超 30 倍!

当前位置:主页 > 开云app新闻 >
开云app-吃下 GuanceDB 狗粮后,观测云查询性能提升超 30 倍!
时间:2023-06-19作者:肥仔
  • (本文作者:不雅测云资深系统开辟工程师 熊豹)

    2023 年 4 月 23 日,不雅测云正式发布自研时序数据库 GuanceDB,并在当天利用到了不雅测云所有 SaaS 节点的底座。此次进级机能晋升的结果吹糠见米,对照之前利用 InfluxDB 的情况资本占用年夜幅下降、查询机能显著晋升,我们成功地吃上了本身的狗粮。

    我们也深知 talk is cheap show me the benchmark 的事理,这里发布我们在近期完成的 GuanceDB 机能压测陈述。

    压测方案申明

    本次测试的方针是对照 GuanceDB、InfluxDB 和某知名开源时序数据库(简称 xxDB)在不异的写入负载和查询前提下的机能表示和资本占用环境。

    关在测试东西:

    我们对照 tsbs、prometheus-benchmark 两种时序数据库的压测方案。

    此中 prometheus-benchmark 组织了更偏真实情况的延续写入负载,指标数值的转变也更真实,所以我们首要参考 prometheus-benchmark 来组织本次测试。

    Tsbs:https://github.com/timescale/tsbs

    pr开云appometheus-benchmark:https://github.com/VictoriaMetrics/prometheus-benchmark

    原 prometheus-benchmark 方案中利用了 vmagent 来抓取和写入指标,但我们今天测试的 3 种数据库对 Prometheus 写入和谈撑持力度纷歧,没法一路比力。所以我们对 vmagent 进行了一些革新,让其撑持了 InfluxDB 的行写入和谈。

    Vmagent:https://docs.victoriametrics.com/vmagent.html

    本次测试的终究方案以下:

    1.摆设的一个单机的 node-exporter ,其表露宿主机的 1383 个真实指标

    2.摆设 Nginx 反代并缓存 node-exporter 成果 1s,下降频仍要求的压力

    3.调剂 agent 的抓取设置装备摆设,摹拟生成分歧的 node-exporter 实例数以生成分歧的写入负载

    4.agent 以不异的要求巨细、频率将数据同时以 influx 和谈 http 接口写入三种时序数据库

    软件版本:

    1.GuanceDB: v1.0.0

    2.InfluxDB: v1.8.10

    3.xxDB

    主机设置装备摆设:

    1.压测机:1 台阿里云 ecs.g7.16xlarge 云主机:64 core,128 GB RAM

    2.存储集群:3 台阿里云 ecs.g7.4xlarge 云主机:16 core,64 GB RAM,200 GB PL1 类型 ESSD

    阿里云资本申明页

    https://help.aliyun.com/document_detail/25378.html#g7

    https://help.aliyun.com/document_detail/25383.html

    摆设体例:

    由于 InfluxDB 的开源版本不撑持集群模式,所以我们也将分两组进行测试。一组是 InfluxDB 与 GuanceDB、xxDB 的单机版本对照,另外一组是 GuanceDB 与 xxDB 的集群模式进行对照,集群模式都利用 3 个存储节点。

    参数优化:

    GuanceDB 对年夜部门场景都做了主动调优,所以我们不消手动调剂设置装备摆设。

    InfluxDB 默许对高基数场景做了一些庇护,我们调剂 max-series-per-database = 0 铺开了限制,cache-max-memory-size 增年夜到了 10g,而且开启 tsi1 索引。

    xxDB 我们也参考文档进行了针对性的调优。

    至此完成所有设置装备摆设,最先测试。

    写入测试

    ●单机组

    本组测试进行的测试轮次比力多,这里我们遴选某一轮展现具体监控截图。

    在此轮测试中,我们虚拟了 344 个 node-exporter 实例,生成年夜约 50w 条活跃时候线,5s 抓取一次,时序点写入 QPS 10w。

    GuanceDB 资本开消:CPU 占用率 2%,内存占用约 3 GB。

    InfluxDB 资本开消:CPU 占用率 16%,内存占用约 7.4 GB。

    xxDB 资本开消:CPU 占用率 61%,内存占用 9 GB。

    汇总成果表格以下:

    完成了限制机能的测试场景后,我们很好奇要多年夜的压力才能将各台数据库主机的资本打满,特别对 GuanceDB,响应 10w 写入 QPS 仅仅破费了 2% 的 CPU 开消,它的机能上限在哪里?随即我们最先加年夜 QPS,当各台主机的 CPU,内存和磁盘如有一项被打满时,即被认为达到瓶颈。

    现实测试成果都是主机的 CPU 先被打满,此时内存占用和磁盘写入带宽都还余量,所以我们就以 CPU 操纵率为瓶颈指标画出以下对照图:

    在单机场景下,当 CPU 到达满载时,xxDB 的写入 QPS 约 15w,InfluxDB 约 90w,GuanceDB 约 270w。本轮 GuanceDB 取得第一,写入机能是 InfluxDB 的 3 倍。也能够看到在 CPU 操纵率跨越 20% 后,机能不再呈线性增加,都有必然水平阑珊。

    ●集群组

    我们依照之前的方式继续测试 3 节点集群:

    在集群场景下,依然是 CPU 操纵率先到达瓶颈。一样在 CPU 满载环境下,GuanceDB 此时的写入 QPS 约为 860w,xxDB 约为 45w。

    对照之前 GuanceDB 和 xxDB 的单机写入机能测试,抱负环境下 N 个节点的集群版的写入机能应当是单机版的 N 倍,呈线性增加,实测 3 节点集群合适机能预期。

    查询测试

    查询测试将夹杂单机 InfluxDB、集群版 GuanceDB、集群版 xxDB 一路进行。集群一般可以将数据和查询分摊并可以在节点之间并行查询,理论上这个测试体例对 InfluxDB 不太公允,但前提受限,暂且这么设计。

    我们虚拟 688 个 node-exporter 实例,生成年夜约 100w 个活跃时候线,5s 抓取一次,时序点写入 QPS 20w。在延续写入 24 小时后,我们再测试一些常见语句的查询机能和对照存储空间占用。

    GuanceDB 同时撑持 DQL 和 PromQL 两种查询语法。DQL 是不雅测云自研的多模数据查询说话,同时撑持指标、日记、对象等多种类型负载数据的查询和阐发,语法表达很是简练。语法设计上跟 SQL 接近,但加倍顺应时序阐发场景,进修曲线光滑。

    这里我们一共对照了四种查询语法在不异语义的 1h、8h、24h 分歧时候规模下的响应时候:

    查询 1 响应时候:

    注:图示中 0ms 暗示响应时候不到 1ms。

    查询 2 响应时候:

    查询 3 响应时候:

    注:图示中 -1ms 暗示要求响应时候跨越了 60s 不计数。

    空间占用对照

    在上述的查询测试组织的写入压力(活跃时候线 100w,时序点写入 QPS 20w)下,运行 24 小时后,我们对照存储空间占用。

    总结

    颠末数轮的写入和查询机能测试,相信列位对 GuanceDB 的综合机能表示已有了比力清楚的熟悉了。GuanceDB 对照 InfluxDB 写入机能晋升 3 倍,存储空间占用削减 68%,查询机能晋升 30 倍以上。GuanceDB 比拟 xxDB 晋升则更较着,背后的缘由是 xxDB 固然明面上是撑持了 Schemaless 数据的写入,可是对 Schemaless 的场景较着优化不足,所以表示欠佳。

    GuanceDB 的优良机能来自在我们构建的高效的火山模子查询引擎、SIMD 指令加快、对 Schemaless 数据的最优先撑持等,也由于我们站在了 VictoriaMetrics 的肩膀上。很是感激 VictoriaMetrics 开源社区对我们的撑持,我们将延续进献回报社区,配合增进可不雅测范畴手艺的成长与前进。

    我们在 5 月中下旬也将发布 GuanceDB 的单机版本,接待大师到时存眷和测试。若有同窗对 GuanceDB 感爱好,或有任何疑问,可以随时站内和我联系,或在不雅测云(www.guance.com)社群里沟通。

    责任编纂:Linda

上一篇:开云app-双系列新品通过新国标配方注册,HiPP德国喜宝实力迎婴配粉新赛程 下一篇:开云app-筑牢数字底座 推进企业数字化高质量发展 中企通信“央国企专场研讨会”成功举办

开云app-客户满意是我们服务的宗旨!

联系我们

Copyright © 2009-2025 开云app版权所有 备案号:粤ICP备09100880号-1

地址:深圳市宝安区固戍街道裕兴科技工业园G栋