我有一个具有以下配置的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进行大量调用时,我们注意到它变得不可访问。我应该进行哪些更改以使其承担更多的负载?
最佳答案
您需要真正升级实例类型,当前,您正在使用小型t2实例,该实例只有2GB的内存和只有1个VCPU,请参阅hardware specification of t2 instances。
如您所见,内存显然已成为瓶颈,并且已达到95%,我建议将实例类型增加到具有4 GB的t2.medium
,并查看获得的性能提升。
请注意,Elasticsearch是一个占用大量内存的应用程序,在很大程度上依赖文件系统缓存(ES内部使用的Lucene使用该文件系统)和Elasticsearch JVM堆大小(当您使用AWS托管ES时,我想您不必做得很好) -调整)。
由于您还没有提供其他重要信息,例如搜索和索引请求的数量,搜索的类型,索引,碎片和副本的数量等,请引用一些不错的博客,例如this和this和this,以提高搜索和索引编制的性能。 。
编辑:-正如@Val在注释中建议的那样,您可以使用top/down方法快速确定群集的正确大小,这样做可能会花费更多的钱,但是您可以节省时间来达到正确的大小。
关于elasticsearch - AWS Elasticsearch:更多负载下的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62215163/