我正在通过graphaware neo4j php client的 php 客户端查询我的 Neo4j 图。现在我在通过基准测试时遇到了重大的性能下降
$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 浏览器中执行的相同查询相比,这很容易增加十倍。
编辑:也许我应该添加图表只有大约 200 个节点大,但查询严重依赖过滤路径。另外,当然,当我第二次运行查询时,由于缓存,它的速度大约快了 5 倍。
这是什么原因?我在想也许
- 未为图形感知客户端正确启用螺栓协议
- graphaware 产生开销(在 php 对象中解包结果,..)