【问题标题】:How is the concurrency query performance of elasticsearch?elasticsearch的并发查询性能如何?
【发布时间】:2022-03-13 18:00:45
【问题描述】:

elasticsearch 是否可以很好地处理并发搜索/聚合? (例如,1000 人同时发出相同/不同的查询)

请注意,我说的不是并发更新,只是搜索/聚合。

像 oracle/mysql 这样的数据库在文档中都在谈论并发。没有发现弹性搜索在谈论这个。这是否意味着并发对于elasticsearch的数据结构和架构来说不是问题?

我知道过滤器的缓存是使并发查询更容易的一件好事。还有什么?

【问题讨论】:

  • 它是一个分布式数据库,它可以水平扩展。您始终可以添加更多节点来处理不断增加的并发搜索。
  • @AssHat_ 是的,但是为了让状态成为瓶颈,您需要数百甚至数千个节点,或者具有动态字段的糟糕设计......

标签: elasticsearch


【解决方案1】:

可以以最小的开销缓存查询以供重复使用。

https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-caching.html#filter-caching

这样可以更快地处理未来对相同数据的查询。

集群配置和数据分配也会对性能产生影响。请求应该以循环方式发出,如果单个节点同时接收 1000 个请求,则其性能将下降,而不是在多个节点之间分配工作。

映射和分析器也会对性能产生重大影响。

Queries that require retrieval and parsing of the _source field are expensive.

Using Query-time synonym translation will be expensive.

实际情况是性能取决于特定的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-09
    • 2014-12-25
    • 2013-10-24
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多