Hi,

That depends, of course, on what those requests are doing. If you are writing a 
single property only in each request, the server will perform fewer of those 
(especially if they're contended). 

If you're querying the graph, then the limiting factor is the performance of 
Jetty (the HTTP server that we embed).

In an unscientific micro benchmark (on a normal dev macbook pro, running other 
apps, using default settings for server and underlying database), I adapted  
the REST API exercise from the Doctor Who koans/dataset 
(https://github.com/jimwebber/neo4j-tutorial). I repeatedly executed this 
relatively taxing traversal with return type set to fullpath:

{  "order" : "depth_first",  "uniqueness" : "node_path", "relationships" : [{  
"type" : "PLAYED", "direction" : "in" }, {  "type" : "APPEARED_IN", "direction" 
: "out" }], "return_filter" : { "language" : "javascript", "body" : 
"position.endNode().hasProperty('title') && 
position.endNode().getProperty('title').contains('Invasion')" }, "max_depth" : 
3 }

On an average run, I get these kinds of numbers:

Number of traversals [10000]
Total seconds taken [40.752000]
Average traversals/sec [245.386729]
Client threads used [2]
Average traversals/sec/thread [122.693365]

(note: I only have 4 cores available, so using 2 client threads to generate 
load, and 2 to serve them on the server seemed about right)

Jim
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to