こんばんは
Neocons を使用して一連のデータを Neo4J v1.9.4 に詰め込む小さなプログラムを Clojureで作成しました。
大規模なデータ セットでは、ボトルネックは関係を Neo4j に挿入することですが、一度に 1 つずつ実行する必要があることを考えると、それほど驚くべきことではありません。だから私の考えは、いくつかの単純な並列処理が役立つかどうかを確認するために、それに pmap マジックを振りかけることでした。
予想外に (少なくとも私には)、ネオコンが「java.net.ConnectException: 接続が拒否されました」例外をスローする結果になりました。これは、クライアントがデフォルトで 10 スレッドになることを考えると奇妙に思えます (pmap は numberOfProcessors + 2 スレッドを超えて作成しません)。 、一方、Neo4j はデフォルトで 80 スレッド (numberOfProcessors * 10、少なくともドキュメントを正しく読んでいる場合) になります。前回チェックしたとき、10 は 80 未満だったので、Neo4j には ... <靴を脱いで>... 余裕のあるスレッドがたくさんあるはずです。
問題のコード行はここにあります- 行われた唯一の変更は、「map」呼び出しを「pmap」呼び出しに切り替えることでした。
アイデア/提案はありますか?
前もって感謝します、
ピーター