What GC method are you using? We use about a 30gb heap and had a decent 
amount of issues with ConcMarkSweep combined with a high amount of 
requests. A few people at Neo4j recommended G1 and it helped us a lot. Not 
sure how your app works, but with ours it usually takes G1 a little time to 
adapt to our traffic and then GC spikes go down significantly and we see 
very few.

On Tuesday, March 4, 2014 3:40:58 PM UTC-5, Virat Gohil wrote:
>
> Hi,
>
> Before I start, I would like to commend the efforts of the fantastic team 
> for making a beautiful and intuitive Graph database. I am new to using 
> Neo4j and have been using it for about 2 months now and so far I love it!
>
> I have a few queries with respect to tuning Neo4j for performance, as we 
> are having issues where the garbage collection holds the application 
> threads for a long time, the following is a sample from the logs:
>
> 2014-03-04 20:05:24.817+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 3539ms [total block 
> time: 442.367s]
> 2014-03-04 20:05:28.024+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 3107ms [total block 
> time: 445.474s]
> 2014-03-04 20:05:37.474+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 9350ms [total block 
> time: 454.824s]
> 2014-03-04 20:05:45.909+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 8333ms [total block 
> time: 463.157s]
> 2014-03-04 20:06:00.581+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 14570ms [total block 
> time: 477.727s]
> 2014-03-04 20:06:10.810+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 10129ms [total block 
> time: 487.856s]
> 2014-03-04 20:06:24.881+0000 INFO  [o.n.k.EmbeddedGraphDatabase]: GC 
> Monitor: Application threads blocked for an additional 13971ms [total block 
> time: 501.827s]
>
> We have a fairly powerful box with about 120G of RAM available at our 
> disposal, this box is only going to run only Neo4j DB instance. The 
> following is the statistics for our database:
>
> Number of nodes: ~37Million
> Number of relationships: ~100Million
> Number of properties: ~300Million
>
> File sizes from disk:
> neostore.nodestore.db = 319MB
> neostore.propertystore.db = 15GB
> neostore.relationshipstore.db = 3.2GB
> neostore.propertystore.db.arrays= 11MB
> neostore.propertystore.db.strings = 7GB
>
> The typical graph depth is 3 levels for most of our queries.
>
> I have the following queries:
> 1. I read a few articles about enabling Object caching along with mapped 
> memory, most of the articles suggested a way to pass the caching attributes 
> as properties to the embedded database. However, in our case, we are 
> communicating to the DB from outside the box using rest (spring-data-neo4j 
> to be exact). I could not find any article that shows how to configure the 
> object caching using the properties file. Any pointers to setting up the 
> object caches using properties file will be very helpful.
> 2. Keeping the above stats in mind, what would be a recommended heap size? 
> and node/relationship cache sizes?
>
> Please let me know if any more data can help clarify things further.
>
> Thanks!
>
> Virat
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to