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.
