我们有2个标签键-tag1,tag2和键值-value1。
我们跑步后的基数:
SHOW SERIES CARDINALITY ON db1
是24。
特别是对于具有20亿个点的测量“测量1”,我们只有1个系列(我们只有一对键tag1和tag2的值):
measurement1,tag1=tag1value,tag2=tag2value
现在,正如我所说,如果在选定的时期内我们最多可以拥有2000万积分。
SELECT SUM(someDoubleValue) AS result FROM measurement1 WHERE time > '2019-04-15T21:00:00Z' AND time < '2019-05-17T20:59:59.999Z' AND (tag1='1234567') GROUP BY time(30d, 21h) FILL(0);
6-7秒后返回此查询,但它消耗了我们CPU的80-100%。
现在基数很低(也许我可能是错的-还有另一种方法可以验证我们的基数很低吗?)。
我们试图弄清楚这是否是分片问题-我们使用的默认分片为1周,因此我们认为查询2个月应该不是问题。
我们提高了机器功率,但是没有运气-从i3-large到i3-xlarge(AWS)。
我们正在尝试确定这是InfluxDB中的问题,还是我们的测量配置有误。
答案 0 :(得分:0)
您是否使用tsm
索引?我们的tsi
索引可以改善性能,这可能会有所帮助。
https://docs.influxdata.com/influxdb/v1.7/concepts/tsi-details/