【问题标题】:Is there a limit on the number of indexes that can be created on Elastic Search?在 Elastic Search 上可以创建的索引数量是否有限制?
【发布时间】:2020-11-25 00:06:17
【问题描述】:

我正在使用 AWS 提供的 Elastic Search。

我的网站上有一个注册页面,并且在每次注册时;为新用户创建了一个新索引(供他的工作组稍后使用),这意味着索引的数量在不断增长,(现在达到了 4~5k 左右)。

我的问题是:索引数量是否有性能限制?继续为每个新用户动态创建新索引是否安全(在性能方面)?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    注意:我没有使用 AWS-Elasticsearch,所以这个答案可能会有所不同,因为他们已经开始使用 Elsticsearch 的开放发行版并且已经分叉了主分支。但是很多原则应该是一样的。另外,这个问题没有明确的答案,它取决于各种因素,但我希望这个答案对思考过程有所帮助。

    其中一个因素是每个索引的分片和副本数,因为这将影响每个节点的分片总数。每个分片都会消耗一些内存,因此您必须限制每个节点的分片数量,以便它们不会超过建议的最大 30GB 堆空间。根据this comment 600 to 1000 应该是合理的,您可以根据它扩展您的集群。

    此外,您必须监控文件描述符的数量,并确保不会对节点的操作造成任何瓶颈。

    HTH!

    【讨论】:

      【解决方案2】:

      如果我没记错的话,唯一的限制是服务器的磁盘空间,但如果你的索引增长太快,你应该考虑拥有更多的副本服务器。我推荐阅读这个页面:Indexing Performance Tips

      【讨论】:

      【解决方案3】:

      索引本身没有限制,但是分片有限制,建议每 GB 堆的分片数量为 20(JVM 堆 - 你可以在 kibana 堆栈监控选项卡上查看),这意味着如果你有 5GB 的 JVM 堆,推荐数量为 100。

      请记住,1 个索引可以占用 1 到 x 个分片(1 个主分片和 x 个辅助分片),通常人们有 1 个主分片和 1 个辅助分片,如果是这种情况,那么您将能够使用 5GB 创建 50 个索引堆

      【讨论】:

        猜你喜欢
        • 2012-01-04
        • 2011-02-11
        • 2021-10-08
        • 1970-01-01
        • 2015-03-28
        • 2015-09-20
        • 2015-07-25
        • 1970-01-01
        • 2019-02-01
        相关资源
        最近更新 更多