我在AWS EC2 t2.small实例上运行ES,我偶尔会遇到CPU信用额突然大幅下降。
https://www.dropbox.com/s/0pw0qfudoca899f/cpu_credits.png?dl=0
下降开始于星期一,即我们为该周日志创建4个新的日志记录索引。我们目前有大约60个日志记录索引,大多数只是获取插入请求,很少进行任何搜索。我们还有大约30个主动搜索的索引,其中至少有10个定期批量更新。
上次我遇到这样的问题时,我删除了一堆旧索引,这似乎有所帮助,但我宁愿避免这样做。
高资源使用的最常见原因是什么?指数数量?其中的记录数量?分配的分片数量?记录或映射的更新量(有一些带有数千个字段的索引)?
如果我能提供任何信息,请告知我们,并提前感谢您提供有关清除此问题的任何帮助。
编辑1:
答案 0 :(得分:0)
所以使用t2.small我想你有1GB的RAM分配给ES堆,对吧?我注意到的一件事是,由于索引的大小非常小(<100mb),你有太多的分片,单个分片就足够了。由于每个分片都会消耗资源,因此您的状况会更好。
你可以做的一件事就是整合你的所有指数,即将所有go_request_data-2016
周指数放入一年一次的指数中,只有一个碎片等等。你最终可能会得到很多指数和碎片,而不需要删除任何数据