让我们假设一个条件,如果我在过去 15 分钟内有 500k 日志,这对我的弹性堆栈性能会更好
- 有 10 个索引来保存这些 500k 日志。
- 拥有 1 个索引来保存 500k 具有更多分片的日志。
这有助于提高我的仪表板性能有人可以帮助我吗?
让我们假设一个条件,如果我在过去 15 分钟内有 500k 日志,这对我的弹性堆栈性能会更好
这有助于提高我的仪表板性能有人可以帮助我吗?
tldr 使用ILM为您管理这些,并设置一个介于 30-50GB 之间的分片大小,并让它为您管理所有这些
更长的答案是问题不是索引,而是碎片
例如,如果您使用 10 个索引和 1 个主分片和 1 个副本分片,并且 500K 的事件是 500MB,那么您有 20 个分片,其中包含 25MB 的数据。Elasticsearch 需要管理的资源(堆、CPU)与您拥有相同的分片和索引计数相同,但每个分片中有 50GB 数据
推荐的分片大小为 30-50GB,但这取决于用例和一堆其他的东西,比如集群大小、查询和索引 SLA 等等。对于大多数日志记录用例,50GB 是密度和响应能力之间的良好平衡
官网建议针对 10GB 和 50GB 之间的分片大小。500k 日志只需使用索引(1 个分片就足够了)。您可以阅读以下文章。
https://www.elastic.co/guide/en/elasticsearch/reference/current/size-your-shards.html#shard-size-recommendation