AWS Elasticsearch:更多负载时的性能问题

AWS Elasticsearch: Performance issue on more load

我有一个具有以下配置的 AWS Elasticsearch 域:

Elasticsearch version: 7.4
Availability zones: 2
Instance type (data): t2.small.elasticsearch
Number of nodes: 2
size: 7GB
the number of documents: 4000
Memory utilization often reaches 95%

当负载很高或我们对这个 ES 进行大量调用时,我们注意到它变得无法访问。我应该做哪些更改才能承受更多负载?

您确实需要升级实例类型,目前您使用的是只有2GB RAM和1个VCPU的小型t2实例,请参考hardware specification of t2 instances

如您所见,内存明显成为瓶颈并达到 95%,我建议将实例类型增加到 t2.medium,它有 4 GB,看看您获得多少性能提升。

请注意,Elasticsearch 是一个内存密集型应用程序,并且严重依赖文件系统缓存(由 ES 内部使用的 Lucene 使用)和 Elasticsearch JVM 堆大小(因为您使用的是 AWS 托管的 ES,我想您不不必微调它)。

由于您没有提供其他重要信息,例如搜索和索引请求的数量、搜索类型、索引、分片和副本的数量等

编辑:- 正如@Val 在评论中建议的那样,您可以使用 top/down 方法快速确定集群的正确大小,执行此操作时您可能需要多花一点钱但是你会节省时间来获得合适的尺寸。