Influxdb 查询';磁盘';永远需要测量

Influxdb 查询';磁盘';永远需要测量,influxdb,Influxdb,在XDB 0.10.0中,我正在使用的Kapacitor脚本正在超时。因此,为了从图片中删除Kapacitor,我尝试从运行XDB的机器上执行以下简单查询: curl -G 'http://localhost:8086/query' --data-urlencode "db=telegraf_UP" --data-urlencode 'q=SELECT * FROM disk LIMIT 5' 查询需要3分钟才能返回。但是,如果我对“cpu”或“mem”测量值执行完全相同的查询,它返回的速度相

在XDB 0.10.0中,我正在使用的Kapacitor脚本正在超时。因此,为了从图片中删除Kapacitor,我尝试从运行XDB的机器上执行以下简单查询:

curl -G 'http://localhost:8086/query' --data-urlencode "db=telegraf_UP" --data-urlencode 'q=SELECT * FROM disk LIMIT 5'
查询需要3分钟才能返回。但是,如果我对“cpu”或“mem”测量值执行完全相同的查询,它返回的速度相当快(3秒为“mem”,30秒为“cpu”)。所有这些测量都应该有相同数量的数据,因为它们都是在Telegraf中同时打开的


你知道为什么响应时间会有这么大的差异吗?

在Influx 0.10和更早版本中,LIMIT子句限制返回,而不是采样点。如果测量中有1000万个点,它将从磁盘中取出所有1000万个点,然后扔掉除5个点以外的所有点


从XDB 0.11中的新查询引擎开始,LIMIT子句应用于采样的点,因此查询将在具有完全不同的点计数的测量值之间以类似的时间返回。

我明白为什么需要这么长时间-它为服务器上的每个文件系统写入一个测量值,并且有11个文件系统。