influxdb性能优化整理

一般情况下大家都是在grafana上展示influxdb的数据,如果一次查询了非常多的数据,那么这个查询就会执行很长时间,如果这种大的查询比较多的话,influxdb就会耗费几乎所有的CPU来做这些数据查询,并且其它小的查询也会受到影响。第二,通过设置保留策略,保留更少的数据。我的理解是,series是influxdb的索引,会被存储在内存里,series过多的话,就会导致内存持续居高不下。series的多少,主要是由tag的个数和tag的值决定的,所以如果要降低series的数量,可以从两个方面来考虑。
摘要由CSDN通过智能技术生成

influxdb一般情况下比较稳定,但是随着数据量越来越大,也会出现一些性能问题,需要进行一些调优。我目前遇到的关于influxdb的性能问题大体上可以分为两类

CPU持续居高不下
内存持续居高不下,并伴随着较高的iowait
下面分别来讨论我当时的处理方法。

CPU持续居高不下
当时遇到的现象是,influxdb进程的CPU利用率持续居高不下,查询数据的速度很慢。经过分析,最终定位到influxdb.conf配置文件中的一个参数
 

  # The maximum time a query will is allowed to execute before being killed by the system.  This limit
  # can help prevent run away queries.  Setting the value to 0 disables the limit.
  # query-timeout = "0"

我认为这简直是influxdb的一个bug,默认情况下查询数据居然没有超时时间。一般情况下大家都是在grafana上展示influxdb的数据,如果一次查询了非常多的数据,那么这个查询就会执行很长时间,如果这种大的查询比较多的话,influxdb就会耗费几乎所有的CPU来做这些数据查询,并且其它小的查询也会受到影响。

我的做法是设置了一个60秒的超时时间
 

query-timeout = "60s"

这样的话,大查询如果60秒内结束不了,会超时并结束,不影响后续的查询。

内存持续居高不下,并伴随

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值