【问题标题】:Neo4J REST performanceNeo4J REST 性能
【发布时间】:2013-12-31 11:14:33
【问题描述】:

我构建了一个在 REST 模式下使用 Spring 和 Neo4J 的 Java 应用程序。 Neo4j 安装在 Linux Red Hat 机器上,我没有更改它的默认配置。

当我使用我的 Java 服务来查询数据时,查询/插入运行非常慢,但是当我通过远程 Web 管理员执行相同的操作时,相同的查询运行得很快。

例如,当我从 Web 管理员运行它时,我有一个在几毫秒内运行的查询,但是从我的 Rest 服务调用它时需要超过 30 秒 (!!) 才能返回。目前,我的数据库(还)没有很多数据 - 几千个节点。

我不知道问题可能出在哪里 - 我猜如果直接运行速度很快,从我的服务运行时它也应该很快,不是吗?

这是一个示例查询(为了便于阅读,我缩进了它):

   @Query("start movie=node({0}) 
           match (topic)<-[r:relatesToTopic]-(movie) 
           where r.orderInTop5? is not null and r.orderInTop5?>0 
           return topic order by r.orderInTop5 asc;")
    public Iterable<Topic> findTopTopics(Content content);

直接在web admin中,看起来是这样的:

start movie=node(50537) 
match (topic)<-[r:relatesToTopic]-(movie)
where r.orderInTop5? is not null and r.orderInTop5?>0 
return topic.name  , topic.category, r.orderInTop5
order by r.orderInTop5 asc;

如果重要的话,removeToTopic 关系是在抽象父类上声明的,而不是在 Movie 类本身上。

我认为我有一个普遍的问题,因为它对于任何查询或创建都很慢。不使用 Neo4J 的服务运行速度非常快。

可以是 REST 配置吗?还有什么?

我很感激在哪里寻找或测试什么的任何想法。

谢谢 卡梅尔

【问题讨论】:

    标签: neo4j spring-data-neo4j


    【解决方案1】:

    我发现问题不在于 neo4j 本身,而在于对结果的迭代。

    我的存储库扩展了 org.springframework.data.neo4j.repository.GraphRepository。 我使用返回 Iterator 的“findAll()”方法,原样。

    next() 操作需要 1-4 秒!

    我在另一个 forum 中读到我应该使用 RestCypherQueryEngine 进行查询,但是在使用 Spring-neo4j 时我该怎么做?

    这是我对 Spring 的定义:

    <neo4j:config graphDatabaseService="graphDatabaseService" />
    
        <bean id="graphDatabaseService" class="org.springframework.data.neo4j.rest.SpringRestGraphDatabase">
            <constructor-arg value="${db.neo4j.restAddress}" />
        </bean>
    
        <neo4j:repositories base-package="com.vo.insight.processed" />
    

    非常感谢 卡梅尔

    【讨论】:

      【解决方案2】:

      卡梅尔,

      SDN over REST 尚未提供高性能访问。

      您可以尝试使用带有密码注释的存储库方法并仅返回纯数据,因此不要返回“主题”而是您需要的主题属性,然后使用 @MapResult@QueryResult 映射来访问您的返回价值观。

      见:http://docs.spring.io/spring-data/data-neo4j/docs/2.3.x/reference/htmlsingle/#d0e964

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多