如何用Java解决gremlin的查询janusgraph花费太多时间?

如何用Java解决gremlin的查询janusgraph花费太多时间?,java,graph-databases,gremlin,janusgraph,Java,Graph Databases,Gremlin,Janusgraph,在用janusgraph创建的远程图形中,我有500个顶点和400条边,我使用tinkerpop.gremlin进行搜索。但是打开GraphTraversalSource并关闭它往往很耗时。例如,如果neo4j的查询需要200毫秒,那么janusgraph中的相应操作大约需要4分钟 我搜索了谷歌和官方文档,但没有找到任何可以解决我面临的问题的东西 下面是一个示例代码: 公共类测试{ 公共静态void main(字符串[]args)引发异常{ double startTime=System.cur

在用janusgraph创建的远程图形中,我有500个顶点和400条边,我使用tinkerpop.gremlin进行搜索。但是打开GraphTraversalSource并关闭它往往很耗时。例如,如果neo4j的查询需要200毫秒,那么janusgraph中的相应操作大约需要4分钟

我搜索了谷歌和官方文档,但没有找到任何可以解决我面临的问题的东西

下面是一个示例代码:

公共类测试{
公共静态void main(字符串[]args)引发异常{
double startTime=System.currentTimeMillis();
字符串objectID=“XXXXXXXXXXXXX”;
//开放图
Graph Graph=EmptyGraph.instance();
GraphTraversalSource g=graph.traversal().withRemote(“remote graph.properties”);
double makeGraphTime=System.currentTimeMillis();
//质疑
顶点rootVertex=g.V().has(“ID”,objectID).next();
double queryGraphTime=System.currentTimeMillis();
//闭图
g、 close();
double-endTime=System.currentTimeMillis();
双查询时间=(queryGraphTime-makeGraphTime)/1000.00;
双重使用时间=(结束时间-开始时间)/1000.00;
System.out.println(查询时间);
System.out.println(usedTime);
}
}
上述代码的结果是:

"queryTime":0.538,"usedTime":4.307. 

似乎打开与gremlin服务器的连接并关闭它需要很多时间。如何提高性能?

创建和销毁与服务器的连接代价高昂。我不认为你能做任何事情来加速这两个过程。当然,你真的不应该有规律地创建和破坏连接。在应用程序的生命周期中,您应该创建并重新使用与服务器的连接。这就是说,即使打开和关闭连接,四分钟似乎也超出了我通常预期的执行时间,因此可能还有其他问题