Splunk比其他查询更快地返回一些查询

时间:2014-05-27 21:11:15

标签: splunk

我正在使用Splunk中的 access_combined_wcookie 数据(实质上是Nginx日志文件)。记录的一个例子如下:

5/25/14 2:44:08.000 AM  xxx.xxx.xxx.xxx - - [25/May/2014:02:44:08 -0500] "GET /somepath/ HTTP/1.1" 200 9696 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-"

我特别感兴趣的是能够在GET uri上运行查询。所以,我可以发布以下内容:

/somepath/ | chart count by date_mday 

我没有将超过60M的记录加载到Splunk中,并且每天都在增加更多记录。

我看到有时Splunk自动索引" / somepath /"值,当我输入查询时,我立即得到答案。但是当输入以下查询时:

/some-path/ | chart count by date_mday 

(基本上与上面相同,但用连字符或短划线),我必须等待一段时间让Splunk生成结果。似乎结果与数量相关:在较小的集合上,我立即获得结果,几乎就像它被缓存一样,其中较大的结果集需要很长时间(不成比例地)。

我有什么方法可以控制这种行为吗?较小的卷结果是否缓存在内存中,因此向计算机添加更多RAM(在这种情况下为VM)将有助于获得更快的结果?

1 个答案:

答案 0 :(得分:1)

我还将此问题发布到Splunk答案(Splunk的SO克隆网站)并收到了很好的回复which I'm linking to here

要点是,Splunk将搜索字词 some-path 解释为某些 AND 路径,这就是为什么查询需要更长时间的原因。相反,使用特殊搜索命令TERM()可以更好地工作。

TERM(somepath) | chart count by date_mday 

当然,搜索也可以进一步完善。作为旁注,一位成员将我指向此类文件中名为 uri_stem 的字段,这实际上加快了搜索速度。