我正在使用Kubernetes进行部署。我们有基于Node.js和Neo4j的应用程序堆栈。
对于较低的环境,我们在Kubernetes本身使用单核实例,并使用基于Node.js的应用程序进行配置。在那种情况下它工作正常。例如,简单登录API大约需要660毫秒。
但是对于更高的环境,我们使用的是使用此舵图here安装的临时群集。我们有三台机器集群。每台机器都有一个核心和一个只读副本。我们正在使用POD亲和力在AWS上的t2.xlarge类型的机器上安装所有核心和只读副本。
但是这个集群的性能太慢了。相同的代码和相同的API登录大约需要4.93秒。
我已经为核心分配了4GB堆内存,为最小化副本分配了2G堆内存。所有这些配置集群性能都太慢了。我不确定这里有什么问题。
有人可以指出我做错了什么吗?
感谢我总是从stackoverflow社区获得的帮助。
答案 0 :(得分:0)
我能够解决这个问题。 Neo4J没有任何问题,这是最初的理解,因为这是我们在新集群中唯一的变化。有几个问题。 1)一个是查询,过去需要花费很多时间。我们有cypher查询,它将搜索具有某些属性的所有节点,然后使用该节点和节点之间的查找关系的结果。这不是您编写查询的理想方式。我们必须修复将复杂查询用于单个语句。 2)我们的后端服务占用了大量的CPU资源。我对后端服务有限制,这使得查询和处理结果非常慢。因此,增加后端服务的限制可以解决我们的问题。