【发布时间】:2019-09-03 08:15:23
【问题描述】:
我在使用 janusgraph 创建的远程图中有 500 个顶点和 400 条边,我使用 tinkerpop.gremlin 进行搜索。但是打开一个GraphTraversalSource再关闭它往往比较耗时。比如一个neo4j的查询需要200ms,那么janusgraph中对应的操作大概需要4分钟左右。
我搜索了谷歌和官方文档,但没有找到任何可以解决我面临的问题的东西。
这是一个示例代码:
public class ALittleTest {
public static void main(String[] args) throws Exception{
double startTime = System.currentTimeMillis();
String objectID = "xxxxxxxxxxxxxxx";
// open graph
Graph graph = EmptyGraph.instance();
GraphTraversalSource g = graph.traversal().withRemote("remote-graph.properties");
double makeGraphTime = System.currentTimeMillis();
// query
Vertex rootVertex = g.V().has("ID", objectID).next();
double queryGraphTime = System.currentTimeMillis();
// close graph
g.close();
double endTime = System.currentTimeMillis();
double queryTime = (queryGraphTime - makeGraphTime)/1000.00;
double usedTime = (endTime - startTime)/1000.00;
System.out.println(queryTime);
System.out.println(usedTime);
}
}
上面代码的结果是:
"queryTime":0.538,"usedTime":4.307.
似乎打开与 gremlin-server 的连接并关闭它需要很多时间。我们如何提高性能?
【问题讨论】:
标签: java graph-databases gremlin janusgraph