No, I didn't change the heap sizes; tried to tinker a bit with neo4j memory
settings, but the results - and the behavior - were still the same, so I
stopped.

Could you please give an example of how to configure memory settings for two
Neo4J instances, if these instances are doing the same work?

I really don't know whether speed is low or not: we've started with 20-30
nodes, but then gained speed by optimizing the traverser. Our roadblocks
are, I suppose, the same as everybody else's - nodes with too much
relationships (50-100K in our case). Our traverser is, well, breakable (we
are jumping out of iteration when we've got enough results, or if travelled
path count is already too big), so I don't see much space for improvement
there...

As for environment:
2.6.31-302-ec2 Ubuntu SMP x86_64 GNU/Linux
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

$ cat /sys/block/ /queue/scheduler
noop anticipatory [deadline] cfq

Have to check for io-waits; I noticed that 'rescheduling interrupts' count
was high, though.

Oh, and thank you for your swift answer! :)

-- iD



On 8 August 2011 15:51, Michael Hunger <michael.hun...@neotechnology.com>wrote:

> Did you configure the heap sizes for both neo4j instances and
> also the memory-mapped settings?
>
> Otherwise a neo4j-instance will assume it is alone on a physical machine
> and tries to use the available physical
> RAM for itself. So if you run more than one instance on a machine you MUST
> configure the memory mapped setting manually (
> http://wiki.neo4j.org/content/Configuration_Settings).
>
> But 100 - 120 nodes per minute processed is much to slow.
>
> What OS are you running on ? (if linux, what scheduler is used -> try to
> use deadline or as).
>
> What does top, iostat or vmstat say about io-waits ?
> What does jconsole or the GC logs say about memory usage and full-gcs ?
>
> From your email I read that you have a system with 2 cores and 7 gigs of
> RAM?
> What JVM are you using?
>
> Thanks
>
> Michael
>
> Am 08.08.2011 um 14:37 schrieb Igor Dovgiy:
>
> > 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
>
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to