HI Michael, I did all of what you suggested below, it seems to be blocking
in garbage collection I think. I updated the heap size to 8G and
made dbms.pagecache.memory=15G in the conf dirs, here is what I see when I
run the following which essentially looking for two shortest paths with
dijkstra, similar problems occur when I don't specify a relationship type:
curl -v -X POST -H 'Content-Type: application/json;compact=true' -H
X-Stream:true -H 'Accept: application/json; charset=UTF-8' -d '{ "to":
"http://localhost:7474/db/data/node/79365", "cost_property": "weight",
"algorithm": "dijkstra", "limit":2 }'
http://localhost:7474/db/data/node/902/paths
I never get back a response, this is what I see in the dbase messages.log
file:
2015-06-08 18:03:18.208 INFO [o.n.k.EmbeddedGraphDatabase] Database is now
ready
2015-06-08 18:03:18.217 INFO [o.n.k.i.DiagnosticsManager] --- SERVER
STARTED START ---
2015-06-08 18:03:19.453 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 217ms.
2015-06-08 18:03:21.108 INFO [o.n.k.i.DiagnosticsManager] --- SERVER
STARTED END ---
2015-06-08 18:03:25.000 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 346ms.
2015-06-08 18:07:11.972 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 2411ms.
2015-06-08 18:07:31.653 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 903ms.
2015-06-08 18:07:46.499 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 770ms.
2015-06-08 18:07:51.555 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 772ms.
2015-06-08 18:07:56.652 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 710ms.
2015-06-08 18:08:02.200 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 755ms.
2015-06-08 18:08:07.321 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 725ms.
2015-06-08 18:08:12.419 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 695ms.
2015-06-08 18:08:17.526 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 721ms.
2015-06-08 18:08:24.320 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 675ms.
2015-06-08 18:08:32.716 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 847ms.
2015-06-08 18:08:38.236 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 825ms.
2015-06-08 18:08:43.489 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 766ms.
2015-06-08 18:08:49.422 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 718ms.
2015-06-08 18:08:54.844 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 829ms.
2015-06-08 18:08:59.212 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 798ms.
2015-06-08 18:09:04.377 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 780ms.
2015-06-08 18:09:10.870 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 883ms.
2015-06-08 18:09:16.221 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 752ms.
2015-06-08 18:09:23.784 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 934ms.
2015-06-08 18:09:29.625 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 720ms.
2015-06-08 18:09:30.791 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 247ms.
2015-06-08 18:09:34.542 WARN [o.n.k.EmbeddedGraphDatabase] GC Monitor:
Application threads blocked for 689ms.
On Saturday, June 6, 2015 at 4:01:37 PM UTC-4, Michael Hunger wrote:
>
> I think there are some things that you can do quickly:
>
> compare it with 2.2.2
>
> add the header -H X-Stream:true and -H
> 'content-type:application/json;compact=true'
>
> run the algorithm twice
>
> set the heap size to 8G in neo4j-wrapper.conf
>
> wrapper.java.initmemory=8000
> wrapper.java.maxmemory=8000
> wrapper.java.additional=-Xmn2G
>
> you can remove all this it is superseded by the page-cache
>
> use_memory_mapped_buffers=true
> neostore.nodestore.db.mapped_memory=5G
> neostore.relationshipstore.db.mapped_memory=5G
> neostore.propertystore.db.mapped_memory=5G
> neostore.propertystore.db.strings.mapped_memory=5G
> neostore.propertystore.db.arrays.mapped_memory=5G
> cache_type=gcr
> node_cache_size=5G
> relationship_cache_size=5G
>
>
>
>
> Am 05.06.2015 um 21:45 schrieb sck2015 <[email protected] <javascript:>
> >:
>
> Hi, I am running use the rest api, anything that requires multiple paths
> to be returned is extremely slow, are there configuration properties I can
> update in the conf directory...
> I am running neo4j-community-2.3.0-M01 and have a box with 18G free ram.
>
> If I want to find something that considers all types of edges
> (relationships), I was using the following json, can someone verify that
> this is correct:
> curl -v -X POST -H 'Content-Type: application/json' -H 'Accept:
> application/json; charset=UTF-8' -d '{ "to": "
> http://localhost:7474/db/data/node/79365","cost_property": "weight",
> "algorithm": "dijkstra" }' http://localhost:7474/db/data/node/902/path
>
> I simply omitted the relationships attribute, I limit the search to a
> single type of edge then it works but if I consider multiple paths, the
> query times out. This should be straightforward I would think.
>
> I also updated conf/neo4j.properties with the following values, please
> advise if there is anything else I should do to optimize the search:
> ################################################################
> # Neo4j
> #
> # neo4j.properties - database tuning parameters
> #
> ################################################################
>
> # Enable this to be able to upgrade a store from an older version.
> #allow_store_upgrade=true
>
> # The amount of memory to use for mapping the store files, in bytes (or
> # kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with
> 'g').
> # If Neo4j is running on a dedicated server, then it is generally
> recommended
> # to leave about 2-4 gigabytes for the operating system, give the JVM
> enough
> # heap to hold all your transaction state and query context, and then
> leave the
> # rest for the page cache.
> # The default page cache memory assumes the machine is dedicated to running
> # Neo4j, and is heuristically set to 75% of RAM minus the max Java heap
> size.
> dbms.pagecache.memory=10g
>
> # Enable this to specify a parser other than the default one.
> #cypher_parser_version=2.0
>
> # Keep logical logs, helps debugging but uses more disk space, enabled for
> # legacy reasons To limit space needed to store historical logs use values
> such
> # as: "7 days" or "100M size" instead of "true".
> #keep_logical_logs=7 days
>
> # Autoindexing
>
> # Enable auto-indexing for nodes, default is false.
> #node_auto_indexing=true
>
> # The node property keys to be auto-indexed, if enabled.
> #node_keys_indexable=name,age
>
> # Enable auto-indexing for relationships, default is false.
> relationship_auto_indexing=true
>
> # The relationship property keys to be auto-indexed, if enabled.
> #relationship_keys_indexable=name,age
> relationship_keys_indexable=weight
>
> # Enable shell server so that remote clients can connect via Neo4j shell.
> #remote_shell_enabled=true
> # The network interface IP the shell will listen on (use 0.0.0 for all
> interfaces).
> #remote_shell_host=127.0.0.1
> # The port the shell will listen on, default is 1337.
> #remote_shell_port=1337
>
> # The type of cache to use for nodes and relationships.
> #cache_type=soft
>
> use_memory_mapped_buffers=true
> neostore.nodestore.db.mapped_memory=5G
> neostore.relationshipstore.db.mapped_memory=5G
> neostore.propertystore.db.mapped_memory=5G
> neostore.propertystore.db.strings.mapped_memory=5G
> neostore.propertystore.db.arrays.mapped_memory=5G
> cache_type=gcr
> node_cache_size=5G
> relationship_cache_size=5G
>
>
> --
> 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] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
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/d/optout.