天,
我在 Clojure 中编写了一个小程序,它使用neocons将一堆数据塞入 Neo4J v1.9.4,并且在它工作之后一直在修补性能。
在大型数据集上,瓶颈是将关系插入到 Neo4j 中,这并不奇怪,因为它们必须一次完成。所以我的想法是在上面撒一些 pmap 魔法,看看一些简单的并行性是否有帮助。
出乎意料(至少对我而言),这导致 neocons 抛出“java.net.ConnectException:连接被拒绝”异常,这似乎很奇怪,因为客户端将默认为 10 个线程(pmap 创建不超过 numberOfProcessors + 2 个线程) ,而 Neo4j 将默认为 80 个线程(numberOfProcessors * 10,至少在我正确阅读文档的情况下)。上次我检查时,10 小于 80,所以 Neo4j 应该有... <脱鞋>... 很多线程可用。
有问题的代码行在这里- 所做的唯一更改是将“map”调用切换为“pmap”调用。
有什么想法/建议吗?
提前致谢,
彼得