繁体   English   中英

Elasticsearch缓慢的搜索查询性能

[英]Elasticsearch slow search query performance

我在调整Elasticsearch以获得较高的搜索查询性能时遇到很多问题。 这些是我的规格:

ES设置:版本:0.90.0,群集中有2个节点(m3.2x大aws实例),每个节点32GB RAM,50%分配给ES_HEAP_SIZE,无交换

资料:75MM文件,每个25栏

针对基准的查询:针对5个文本字段的多重匹配查询

我已经尝试过这里这里提到的一切

输入查询频率高达30个请求/秒,响应时间保持小于1s。 超过30+请求/秒,性能骤降,响应时间增加到50s。 发生这种情况时,JVM Heap稳定(在bigdesk中约为7-8),GC也稳定。 但是,CPU迅速增加并达到800%(8核),平均负载非常高16。热线程不断在搜索和评分函数(例如BooleanScorer2.nextDoc,BooleanQuery.createWeight,DisjunctionSumScorer.advance,BufferedIndexInput.refill)之间进行切换。这样的

问题:您能否帮助我找出为什么性能在30 req / sec之后下降的原因,以及如何通过更改集群配置来解决此问题。

提前致谢!

我知道您看到的是CPU受限的行为,但是当您开始遇到性能问题时,是否看到I / O峰值?

如果您将索引存储在EBS卷上,那么使用类似您的测试开始看到I / O饱和将不会感到惊讶。 M3实例具有快速的本地(临时)SSD卷,并且如果要调整响应速度,则应确保索引存储在本地。

https://www.elastic.co/blog/performance-considerations-elasticsearch-indexing

我意识到这并不能直接解决CPU问题,但是您可以采取任何措施使单个查询的响应速度更快(包括过滤/等),这将提高您的吞吐量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM