Hi all, I wonder is that a common case, or rather a very specific one; anyway, would deeply appreciate any help. :)
For a long time we've been thinking about how to speed up our operations. Those are traversals: not very deep (level of depth is 2 at most), but rather complex ones (with custom-made evaluator and selector policy classes), and our DB for now has more than 4M nodes (but should have at least 40M when deployed). In this quest I've attempted to run multiple server instances at once - and, well, was greatly surprised by outcome of this decision. :) In single-instance mode I got about 100-120 nodes per minute processed, no matter how many client processes were thrown at DB (results are fetched via REST API). Results were more-o-less stable, though. But in double-instance mode speed bumped up to 200-250 nodes ppm right after the start, held there for 10 minutes - and then crashed down to meager 50-60 nodes. Then again, after spending a considerably long time at this level, for twenty minutes it went to 200-250 nodes ppm again! Watching system running with htop, I saw a clear pattern: when both cpu cores were loaded at 90%, processing speed was great, but, sadly, most of the time cpu was quite undertasked. ) I wonder what might cause such behavior, and is there a way for me to improve the performance, perhaps with additional settings for JVM? I've already updated Neo4j for 1.4.1 GA, but the problem still there. We've got about 7 GB RAM free, two Neo4j instances eat up about 4 GB total. P.S. Tried to set java processes cpu core affinity (with taskset), got zero effect. -- -- iD _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user