gpt4 book ai didi

multithreading - 如何在一台服务器上配置Elasticsearch集群以获得最佳搜索性能

转载 作者:行者123 更新时间:2023-12-02 22:52:10 26 4
gpt4 key购买 nike

我是Elasticsearch的新手。我的Elasticsearch索引约为300,000个项目。对于另一个表中的6000万条记录,我需要对该ES索引进行复杂的查询。

现在,它非常慢(进行1000个查询将花费200秒)。我需要有关如何配置我的Elasticsearch集群以处理大量查询的建议。

我的服务器:

8 core
8GB ram
SSD Hardware

我想配置elasticsearch以处理来自ruby的1000个并发搜索请求。 (我想并行搜索1000个项目)。

我尝试使用默认配置

我认为默认情况下,elasticesearch只能处理约10-20个并发搜索请求。它使用很少的cpu和ram。因此,我认为我可以改善它。

我只能从ruby运行100个线程来搜索1000个项目,这大约需要200秒。如果我从ruby增加到1000个线程,ES将返回超时错误消息。

我使用运行主节点
ES_HEAP_SIZE=2G

indices.fielddata.cache.size: 1g

threadpool:
search:
type: fixed
size: 200
queue_size: 400

shares: 5

replicas: 1

从 ruby 运行100个线程以搜索1000个项目仍然需要200秒钟。

我在此服务器上添加了3个新节点作为数据节点。

从 ruby 运行100个线程来搜索1000个项目仍然需要200 s甚至更多。

我在google上阅读了一些帖子。人们说创建更多碎片将使搜索变慢。

如何改善搜索查询?

非常感谢!

最佳答案

您将要观看此视频:

http://www.elasticsearch.org/webinars/elasticsearch-pre-flight-checklist/

ES的默认值非常适合开发,但不适用于生产。您真正需要做的一件事是为JVM提供服务器上50%的可用内存。该视频还有很多其他的技巧。

关于multithreading - 如何在一台服务器上配置Elasticsearch集群以获得最佳搜索性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23269280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com