CQ 查询之 compute-runs-per-interval
计算运行间隔值 compute-runs-per-interval 默认值为10,生产环境我设置为 2h,可以简单理解为每隔2小时触发一次 downsample 采样,如图:
关于 compute-runs-per-interval 的深入理解参考官网这篇:https://www.influxdata.com/blog/under-the-hood-with-continuous-queries-part-ii/
写入量大耗内存
InfluxDB内存消耗大应该与线程数多有关,触发线程数增多的原因与storm写入数据的速度有关。客户那已调低了storm spout任务数,处理速度降下来了,influx目前使用的线程数为50个,目前没挂掉掉。写入量大时,由于内部使用的线程池没有上限,导致influxdb创建出更多线程,具体请参考:在Java中,Influxdb2 写入数据时,线程及内存逐渐飙升的问题及解决方案。
FAQ
1 max-values-per-tag = 100000
数据库使用一段时间后,发现报错了:
The maximum number of tag values allowed per tag key. The default setting is 100000. Change the setting to 0 to allow an unlimited number of tag values per tag key. If a tag value causes the number of tag values of a tag key to exceed max-values-per-tag InfluxDB will not write the point, and it returns a partial write error.
解决办法很简单:添加环境变量 INFLUXDB_DATA_MAX_VALUES_PER_TAG=0 就解决了。