从指定的最早日期时间开始,从包含数十亿到数亿条记录的索引/源类型返回固定数量的事件时,我遇到了查询速度慢的问题。 E.g:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' INDENTIFIED BY 'password';
FLUSH ALL PRIVILEGES;
使用SDK并最多限制50000个事件,因为事件按降序排列并按50000裁剪,我们只获取 最新 50000值不要在要求的最早日期开始。因此,在这种情况下,上述查询的结果日期范围是"来自":2015-10-13T12:30:14"到":2015-10-13T13:08:41。 (其中2015-10-13T13:08:41是Splunk的最新记录)。
如果我使用 tail ,我会从正确的最早日期时间开始获得正确的值(按升序日期顺序),但是在C#SDK和仪表板中查询时间都过长了(并且会随着数据的增加,需要越来越长的时间。 E.g。
index=test sourcetype=touch_tuio earliest="09/29/2015:00:00:00" | fields _time,host,screen_id,tuio_type
在仪表板中,即使是下面的查询也需要很长时间,从特定日期开始查找10条记录:
index=test sourcetype=touch_tuio earliest="09/29/2015:00:00:00" | fields _time,host,screen_id,tuio_type | tail 50000
似乎Splunk需要通过 EVERY 记录才能在特定日期(2015年9月29日:00:00:00)开始给我10条记录。这需要花费极长的时间。
有谁知道我在这里做错了什么? 是否有另一种方法可以查询从选定的最早日期开始的固定数量的事件,而不使用尾部,或者没有增加搜索时间?
谢谢!