在Kubernetes上的Ne4J表现太慢了

时间:2018-05-14 02:10:11

标签: neo4j kubernetes kubernetes-helm

我正在使用Kubernetes进行部署。我们有基于Node.js和Neo4j的应用程序堆栈。

对于较低的环境,我们在Kubernetes本身使用单核实例,并使用基于Node.js的应用程序进行配置。在那种情况下它工作正常。例如,简单登录API大约需要660毫秒。

但是对于更高的环境,我们使用的是使用此舵图here安装的临时群集。我们有三台机器集群。每台机器都有一个核心和一个只读副本。我们正在使用POD亲和力在AWS上的t2.xlarge类型的机器上安装所有核心和只读副本。

但是这个集群的性能太慢了。相同的代码和相同的API登录大约需要4.93秒。

我已经为核心分配了4GB堆内存,为最小化副本分配了2G堆内存。所有这些配置集群性能都太慢了。我不确定这里有什么问题。

有人可以指出我做错了什么吗?

感谢我总是从stackoverflow社区获得的帮助。

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。 Neo4J没有任何问题,这是最初的理解,因为这是我们在新集群中唯一的变化。有几个问题。 1)一个是查询,过去需要花费很多时间。我们有cypher查询,它将搜索具有某些属性的所有节点,然后使用该节点和节点之间的查找关系的结果。这不是您编写查询的理想方式。我们必须修复将复杂查询用于单个语句。 2)我们的后端服务占用了大量的CPU资源。我对后端服务有限制,这使得查询和处理结果非常慢。因此,增加后端服务的限制可以解决我们的问题。