【问题标题】:Creating Elasticsearch Cluster with higher throughput for search为搜索创建具有更高吞吐量的 Elasticsearch 集群
【发布时间】:2019-07-25 06:28:13
【问题描述】:

我正在创建一个 Elasticsearch 集群,其中主要强调搜索。搜索的初始吞吐量预计为每秒 6000 个请求。目前我有以下配置:-

  • 主节点 - 7 个节点(8 个 CPU,16 GB RAM)
  • 数据节点 - 12 个节点(16 个 CPU,32 GB RAM)
  • 协调节点 - 4 个节点(16 个 CPU,32 GB RAM)

通过此设置,当我尝试使用 Jmeter 进行负载测试并且示例查询是用于我们测试的查询时,我能够达到的最大值是 58 reuqest per second。目标是平均响应时间不超过 1.5 秒。 就查询而言,查询包含多重匹配查询,其中函数评分用于提供自定义评分。 我有近 20 个要执行搜索的索引,每个索引中的数据并不是那么大,计数只有数百个。 由于这个原因,所有索引都有 1 个分片和 2 个副本。 欢迎任何关于如何提高吞吐量的想法/帮助。

谢谢

【问题讨论】:

    标签: elasticsearch elastic-stack


    【解决方案1】:

    这是一个复杂的问题,您可以调整许多不同的东西,但这里有一些适合初学者的想法:

    1. 为什么有这么多主节点? 7 意味着您可以在失去多达 3 个的情况下幸存下来——这是您需要涵盖的情况吗?添加更多数据节点可能更有意义。
    2. 您需要协调节点吗?同样,在数据节点上拥有更多权力可能更有意义。
    3. “我有近 20 个索引来执行搜索,每个索引中的数据并没有那么大,计数只有数百个。”每个分片中有多少数据?分片应该在 GB 范围内。您可能会受益于更少的分片(可能有一个可以过滤的字段以保持一些区别)并增加副本的数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      相关资源
      最近更新 更多