Performance neo4j graphaware php客户端性能开销

Performance neo4j graphaware php客户端性能开销,performance,neo4j,graphaware,Performance,Neo4j,Graphaware,我正在通过位于的php客户端查询我的Neo4j图。 现在,在通过via进行基准测试时,我遇到了一个严重的性能下降 $client = Neo4jClient::create() ->addConnection('bolt','bolt://neo4j:password@myhost:7687') ->build(); $query = "some query"; $time = microtime(true); # system time in microsecond

我正在通过位于的php客户端查询我的Neo4j图。 现在,在通过via进行基准测试时,我遇到了一个严重的性能下降

$client = Neo4jClient::create()
    ->addConnection('bolt','bolt://neo4j:password@myhost:7687')
    ->build();
$query = "some query";
$time = microtime(true); # system time in microseconds
$result = $client->run($query);
$execms = microtime(true) - $time;
print($execms);
我得到的查询时间大约为250毫秒,与在neo4j浏览器中执行的相同查询相比,这是10倍

edit:也许我应该添加一个示例,该图只有大约200个节点大,但查询严重依赖于过滤路径。 当然,当我第二次运行查询时,由于缓存的原因,查询速度大约快了5倍

这是什么原因?我在想也许吧

  • 未为graphaware客户端正确启用螺栓协议
  • graphaware产生开销(在php对象中解包结果,…)

尝试多次运行基准测试,然后计算平均值。。。这可能是一个缓存问题…@Bruno Peres请查看我在原始问题中的编辑始终有开销,但不能太大。最好的办法可能是发布您的查询。第二次运行更快的时间是服务器端的查询计划缓存,与thr驱动程序无关。最好是分享你的图表和query@tscherg我们仍然在等待更多的信息,也就是你的查询和你的GraphPart的导出不会被限制公开图形:我真的不明白图形模型和查询是如何影响这一点的。我会尝试制作一个假人来复制这个!