Influxdb 高 CPU 使用率跃升至 80%?

Influxdb high CPU usage jumping to 80 %?

我对时间序列数据库世界比较陌生。我是 运行 Influxdb 1.8.x 作为 docker 容器,并且我已将 influxdb.conf 文件配置为默认配置。目前我正面临 influxdb 的高 CPU 使用率问题,CPU 跳到 80% 到 90% 并为同一台机器上的其他进程 运行 造成问题。 我已经尝试了这里给出的解决方案 ->> Influx high CPU issue 但不幸的是它没有用?我无法理解问题背后的原因,也难以获得文档或社区帮助方面的支持。 到目前为止我尝试了什么:

  1. 像这样更新了 influxdb.conf 文件的监控部分 ->> monitor DB
  2. 检查了系列基数 SHOW SERIES CARDINALITY,它看起来在限制范围内 --9400(我也不确定高基数红旗的理想数字)

我正在寻找一种方法,这将帮助我了解这个问题的根本原因?

如果您需要任何进一步的信息,请告诉我。

阅读 Influxdb 调试和 CPU 分析后 HTTP API influxdb 我能够确定问题所在,问题出在我进行查询的方式上,我的查询涉及更复杂的函数GROUP BAY tag.I 也尝试使用 EXPLAIN ANALYZE (query) 命令进行查询分析,以检查执行查询所花费的时间。我解决了这个问题并注意到 CPU 负载有了巨大的改进。 基本上我可以提出以下建议:

  1. 运行 CPU 配置文件分析使用 influxdb HTTP API 和命令 curl -o <file name> http://localhost:8086/debug/pprof/all?cpu=true e 并收集结果。
  2. 使用 Pprof tool 等工具可视化结果并找出问题所在
  3. 也可以 运行 像 SHOW SERIES CARDINALITYEXPLAIN ANALYZE <query> 这样的基本命令来理解查询的执行
  4. 在设计任何架构和 Influx 客户端之前,请检查硬件推荐 ->> Hardware sizing guidelines