That's VERY cool, great work, especially regarding Gremlin and Batching! Now, if there was any good docs we could pull out, I would like to at least point to it form the manual, otherwise - what are the requirements to build this in a CI system?
Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Mon, Sep 26, 2011 at 11:47 PM, Tatham Oddie <[email protected]> wrote: > Some more usage examples: > > http://hg.readify.net/neo4jclient/src/tip/Test/ApiUsageIdeas.cs > > > -- Tatham > > > -----Original Message----- > From: Tatham Oddie > Sent: Tuesday, 27 September 2011 7:41 AM > To: 'Peter Neubauer'; Neo4j user discussions > Subject: .NET client for neo4j > > Hi Peter, > > We publish our client on NuGet: http://nuget.org/List/Packages/Neo4jClient > > (NuGet is .NET's package manager.) > > The source is at http://hg.readify.net/neo4jclient > > It supports: > > * all the basic CRUD operations > > * index management > > * Gremlin queries via a fluent interface: you use C# lambdas and get full > code completion in the IDE as you type; we only compile it down to Gremlin > and send it over the wire when you enumerate it or call a scalar method like > .Count(). See http://dl.dropbox.com/u/5216304/FluentGremlin.png > > This week we moved to parametized Gremlin queries over the wire (eg, > g.v(p0).out[[label:p1]]) and saw a good performance improvement in our > downstream app. This change was implemented completely within Neo4jClient's > query processor so downstream apps just got the improvement automatically. > > We've also started optimizing some of our internal methods to use batching. > For example, creating, relating and indexing a node all happens in a single > REST call. We'll probably end up exposing the batching API outside of the > client too via some type of unit-of-work pattern. > > As for build, our CI triggers on a code push and publishes a new package to > NuGet upon a successful build. If the tests pass, it gets published. (Our > unit tests mock out all the REST calls so we have a high level of confidence > in them. Risk is low anyway, as NuGet makes it easy to grab any previous > version of the package.) > > > -- Tatham > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Peter Neubauer > Sent: Tuesday, 27 September 2011 2:19 AM > To: Neo4j user discussions > Cc: Tatham Oddie > Subject: Re: [Neo4j] Turning Off or Configuring log rotation > > Very cool, > glad to hear things work out. Got any code for the .NET bindings? I think we > should start pulling client libraries into our build system, so there are > stable versions of the most used clients for Neo4j available as part of the > QA process. > > WDYT? > > Cheers, > > /peter neubauer > > GTalk: neubauer.peter > Skype peter.neubauer > Phone +46 704 106975 > LinkedIn http://www.linkedin.com/in/neubauer > Twitter http://twitter.com/peterneubauer > > http://www.neo4j.org - Your high performance graph database. > http://startupbootcamp.org/ - Öresund - Innovation happens HERE. > http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. > > > > On Mon, Sep 26, 2011 at 1:24 PM, Romiko Derbynew > <[email protected]> wrote: >> Hi Peter, >> >> Indeed our desired result is now achieved. Tatham added batching to our .net >> client as well. We are more than happy to assist with HA as this is one of >> the last hurdles we need to overcome. If you can let us know in advance when >> the release is scheduled then we will incorporate it into our sprint for HA >> featuring. >> >> Much appreciated and thx for 1.5 release, could not have timed it better. >> >> Sent from my iPhone >> >> On 26/09/2011, at 5:33 PM, "Peter Neubauer" >> <[email protected]> wrote: >> >>> Romiko, >>> soudns good. Is this solving your current problems or is there stuff >>> left to take care of for the moment? Also, there will be some code >>> coming out on deploying Neo4j HA on Azure. Would you be interested in >>> trying that out and maybe take it a bit further? >>> >>> Cheers, >>> >>> /peter neubauer >>> >>> GTalk: neubauer.peter >>> Skype peter.neubauer >>> Phone +46 704 106975 >>> LinkedIn http://www.linkedin.com/in/neubauer >>> Twitter http://twitter.com/peterneubauer >>> >>> http://www.neo4j.org - Your high performance graph database. >>> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>> >>> >>> >>> On Mon, Sep 26, 2011 at 4:16 AM, Romiko Derbynew >>> <[email protected]> wrote: >>>> Hi Guys, >>>> >>>> We managed to fix the performance issue. >>>> >>>> * Used Paramterised Queries - increased performance by 1 extra node >>>> per second, reduced frequency usage of heap thus no jvm memory >>>> errors >>>> * Configured our .Net client to use 70 threads for rest calls (I chose >>>> this number as Neo4j reserves 80, so I decided 70) 5 TIMES INCREASE IN >>>> PERFORMANCE!!!! >>>> >>>> >>>> We are now going to implement the batching to improve performance >>>> even more :) >>>> >>>> I have updated the blog post with these findings. >>>> http://romikoderbynew.com/2011/09/23/neo4j-java-jvm-garbage-collecti >>>> on-profilingheap-sizelog-rotationlucene-rest-api-performance-analysi >>>> s/ >>>> >>>> >>>> I will write a separate post on the improvements from the batching. >>>> >>>> MyStory Welcome, Temporary from MyStory Administration. Logout? >>>> Agency Import Job 301 >>>> >>>> Log output: >>>> >>>> [01:44:58] [Thread 10] Migration message received at: 26/09/2011 >>>> 1:44:58 AM +00:00 >>>> >>>> [01:44:59] [Thread 10] Migration message payload: JobUniqueId: >>>> 301, AgencyUniqueId: 201 >>>> >>>> [01:44:59] [Thread 10] Executing sql script: >>>> e:\AzureTemp\Resources\4bb24cfd-0b35-4c91-83de-97f335159a49\temp\tem >>>> p\RoleTemp\634526342992784034\output.sql >>>> >>>> [01:45:01] [Thread 10] Processing script command line 10000/37620 >>>> >>>> [01:45:03] [Thread 10] Processing script command line 20000/37620 >>>> >>>> [01:45:05] [Thread 10] Processing script command line 30000/37620 >>>> >>>> [01:45:06] [Thread 10] All sql script commands executed >>>> 37620/37620 >>>> >>>> [01:45:13] [Thread 10] Importing 37619 clients into the database >>>> >>>> [01:45:44] [Thread 12] Processed 169/37619 clients, 5.62 clients >>>> per second, 01:51:06 remaining >>>> >>>> [01:46:16] [Thread 29] Processed 360/37619 clients, 5.80 clients >>>> per second, 01:47:02 remaining >>>> >>>> [01:46:29] [Thread 69] Processed 1000/37619 clients, 13.30 clients >>>> per second, 00:45:52 remaining >>>> >>>> [01:46:50] [Thread 28] Processed 2000/37619 clients, 20.78 clients >>>> per second, 00:28:34 remaining >>>> >>>> [01:47:11] [Thread 30] Processed 3000/37619 clients, 25.47 clients >>>> per second, 00:22:39 remaining >>>> >>>> [01:47:33] [Thread 32] Processed 4000/37619 clients, 28.71 clients >>>> per second, 00:19:31 remaining >>>> >>>> [01:47:55] [Thread 76] Processed 5000/37619 clients, 30.95 clients >>>> per second, 00:17:33 remaining >>>> >>>> [01:48:18] [Thread 87] Processed 6000/37619 clients, 32.52 clients >>>> per second, 00:16:12 remaining >>>> >>>> [01:48:46] [Thread 13] Processed 7000/37619 clients, 32.95 clients >>>> per second, 00:15:29 remaining >>>> >>>> [01:49:10] [Thread 70] Processed 8000/37619 clients, 33.84 clients >>>> per second, 00:14:35 remaining >>>> >>>> [01:49:36] [Thread 54] Processed 9000/37619 clients, 34.25 clients >>>> per second, 00:13:55 remaining >>>> >>>> [01:50:02] [Thread 64] Processed 10000/37619 clients, 34.69 >>>> clients per second, 00:13:16 remaining >>>> >>>> [01:50:29] [Thread 50] Processed 11000/37619 clients, 34.85 >>>> clients per second, 00:12:43 remaining >>>> >>>> [01:50:57] [Thread 82] Processed 12000/37619 clients, 34.97 >>>> clients per second, 00:12:12 remaining >>>> >>>> [01:51:25] [Thread 27] Processed 13000/37619 clients, 35.02 >>>> clients per second, 00:11:42 remaining >>>> >>>> [01:51:54] [Thread 10] Processed 14000/37619 clients, 34.99 >>>> clients per second, 00:11:15 remaining >>>> >>>> [01:52:24] [Thread 76] Processed 15000/37619 clients, 34.89 >>>> clients per second, 00:10:48 remaining >>>> >>>> [01:52:54] [Thread 68] Processed 15970/37619 clients, 34.70 >>>> clients per second, 00:10:23 remaining >>>> >>>> [01:52:55] [Thread 17] Processed 16000/37619 clients, 34.69 >>>> clients per second, 00:10:23 remaining >>>> >>>> [01:53:25] [Thread 59] Processed 16918/37619 clients, 34.43 >>>> clients per second, 00:10:01 remaining >>>> >>>> [01:53:27] [Thread 46] Processed 17000/37619 clients, 34.42 >>>> clients per second, 00:09:59 remaining >>>> >>>> [01:53:58] [Thread 58] Processed 17998/37619 clients, 34.33 >>>> clients per second, 00:09:31 remaining >>>> >>>> [01:53:58] [Thread 34] Processed 18000/37619 clients, 34.32 >>>> clients per second, 00:09:31 remaining >>>> >>>> [01:54:28] [Thread 21] Processed 18900/37619 clients, 34.07 >>>> clients per second, 00:09:09 remaining >>>> >>>> [01:54:34] [Thread 13] Processed 19000/37619 clients, 33.90 >>>> clients per second, 00:09:09 remaining >>>> >>>> [01:55:04] [Thread 35] Processed 19973/37619 clients, 33.81 >>>> clients per second, 00:08:41 remaining >>>> >>>> [01:55:05] [Thread 86] Processed 20000/37619 clients, 33.80 >>>> clients per second, 00:08:41 remaining >>>> >>>> [01:55:36] [Thread 93] Processed 20910/37619 clients, 33.61 >>>> clients per second, 00:08:17 remaining >>>> >>>> [01:55:40] [Thread 42] Processed 21000/37619 clients, 33.54 >>>> clients per second, 00:08:15 remaining >>>> >>>> [01:56:10] [Thread 31] Processed 21886/37619 clients, 33.35 >>>> clients per second, 00:07:51 remaining >>>> >>>> [01:56:14] [Thread 81] Processed 22000/37619 clients, 33.32 >>>> clients per second, 00:07:48 remaining >>>> >>>> [01:56:44] [Thread 17] Processed 22809/37619 clients, 33.02 >>>> clients per second, 00:07:28 remaining >>>> >>>> [01:56:51] [Thread 77] Processed 23000/37619 clients, 32.96 >>>> clients per second, 00:07:23 remaining >>>> >>>> [01:57:22] [Thread 42] Processed 23770/37619 clients, 32.63 >>>> clients per second, 00:07:04 remaining >>>> >>>> [01:57:30] [Thread 71] Processed 24000/37619 clients, 32.57 >>>> clients per second, 00:06:58 remaining >>>> >>>> [01:58:01] [Thread 44] Processed 24652/37619 clients, 32.13 >>>> clients per second, 00:06:43 remaining >>>> >>>> [01:58:16] [Thread 42] Processed 25000/37619 clients, 31.94 >>>> clients per second, 00:06:35 remaining >>>> >>>> [01:58:47] [Thread 9] Processed 25691/37619 clients, 31.60 >>>> clients per second, 00:06:17 remaining >>>> >>>> [01:59:03] [Thread 84] Processed 26000/37619 clients, 31.33 >>>> clients per second, 00:06:10 remaining >>>> >>>> [01:59:36] [Thread 91] Processed 26625/37619 clients, 30.88 >>>> clients per second, 00:05:56 remaining >>>> >>>> [01:59:57] [Thread 74] Processed 27000/37619 clients, 30.57 >>>> clients per second, 00:05:47 remaining >>>> >>>> [02:00:27] [Thread 79] Processed 27583/37619 clients, 30.20 >>>> clients per second, 00:05:32 remaining >>>> >>>> [02:00:47] [Thread 82] Processed 28000/37619 clients, 30.01 >>>> clients per second, 00:05:20 remaining >>>> >>>> [02:01:17] [Thread 64] Processed 28591/37619 clients, 29.67 >>>> clients per second, 00:05:04 remaining >>>> >>>> [02:01:38] [Thread 17] Processed 29000/37619 clients, 29.46 >>>> clients per second, 00:04:52 remaining >>>> >>>> [02:02:08] [Thread 24] Processed 29610/37619 clients, 29.18 >>>> clients per second, 00:04:34 remaining >>>> >>>> [02:02:29] [Thread 58] Processed 30000/37619 clients, 28.98 >>>> clients per second, 00:04:22 remaining >>>> >>>> [02:02:59] [Thread 69] Processed 30566/37619 clients, 28.68 >>>> clients per second, 00:04:05 remaining >>>> >>>> [02:03:23] [Thread 89] Processed 31000/37619 clients, 28.46 >>>> clients per second, 00:03:52 remaining >>>> >>>> [02:03:23] [Thread 88] Processed 31000/37619 clients, 28.46 >>>> clients per second, 00:03:52 remaining >>>> >>>> [02:03:53] [Thread 30] Processed 31556/37619 clients, 28.18 >>>> clients per second, 00:03:35 remaining >>>> >>>> [02:04:16] [Thread 61] Processed 32000/37619 clients, 28.00 >>>> clients per second, 00:03:20 remaining >>>> >>>> [02:04:48] [Thread 66] Processed 32568/37619 clients, 27.73 >>>> clients per second, 00:03:02 remaining >>>> >>>> [02:05:18] [Thread 20] Processed 33000/37619 clients, 27.41 >>>> clients per second, 00:02:48 remaining >>>> >>>> [02:05:48] [Thread 13] Processed 33529/37619 clients, 27.16 >>>> clients per second, 00:02:30 remaining >>>> >>>> [02:06:15] [Thread 56] Processed 34000/37619 clients, 26.95 >>>> clients per second, 00:02:14 remaining >>>> >>>> [02:06:45] [Thread 92] Processed 34442/37619 clients, 26.66 >>>> clients per second, 00:01:59 remaining >>>> >>>> [02:07:16] [Thread 95] Processed 34959/37619 clients, 26.44 >>>> clients per second, 00:01:40 remaining >>>> >>>> [02:07:17] [Thread 91] Processed 35000/37619 clients, 26.44 >>>> clients per second, 00:01:39 remaining >>>> >>>> [02:07:49] [Thread 95] Processed 35369/37619 clients, 26.09 >>>> clients per second, 00:01:26 remaining >>>> >>>> [02:08:19] [Thread 41] Processed 35867/37619 clients, 25.88 >>>> clients per second, 00:01:07 remaining >>>> >>>> [02:08:28] [Thread 66] Processed 36000/37619 clients, 25.81 >>>> clients per second, 00:01:02 remaining >>>> >>>> [02:08:59] [Thread 45] Processed 36485/37619 clients, 25.60 >>>> clients per second, 00:00:44 remaining >>>> >>>> [02:09:29] [Thread 78] Processed 36922/37619 clients, 25.37 >>>> clients per second, 00:00:27 remaining >>>> >>>> [02:09:34] [Thread 81] Processed 37000/37619 clients, 25.34 >>>> clients per second, 00:00:24 remaining >>>> >>>> [02:10:04] [Thread 12] Processed 37287/37619 clients, 25.01 >>>> clients per second, 00:00:13 remaining >>>> >>>> [02:10:27] [Thread 10] All 37619 clients imported >>>> >>>> >>>> -----Original Message----- >>>> From: [email protected] >>>> [mailto:[email protected]] On Behalf Of Romiko Derbynew >>>> Sent: Friday, 23 September 2011 1:06 PM >>>> To: Neo4j user discussions >>>> Cc: Tatham Oddie >>>> Subject: Re: [Neo4j] Turning Off or Configuring log rotation >>>> >>>> Apologise. >>>> Issue Number: https://github.com/neo4j/community/issues/28 >>>> Blog: http://bit.ly/r9hBZC >>>> >>>> Cheers >>>> >>>> -----Original Message----- >>>> From: [email protected] >>>> [mailto:[email protected]] On Behalf Of Romiko Derbynew >>>> Sent: Friday, 23 September 2011 12:52 PM >>>> To: Neo4j user discussions >>>> Cc: Tatham Oddie >>>> Subject: Re: [Neo4j] Turning Off or Configuring log rotation >>>> >>>> Hi Peter, >>>> >>>> We solved the issue by disable index creations when importing 1000's of >>>> nodes. So we will need to figure out why Lucene Index creations via the >>>> rest api causes so much instability. Below is the history of work done. I >>>> have also published a blog report on this here: >>>> >>>> >>>> I have created an issue with this email as the content. Issue number >>>> is: INSERT ISSUE NUMBER http://bit.ly/r9hBZC >>>> >>>> >>>> Also the circuit breaker did not get triggered at all, which means the >>>> REST API is responding with 100% uptime when just doing the insert >>>> nodes/relationships. I guess we then have a performance issue with the >>>> Lucene side. I am more than willing to try collect information on this for >>>> you, if I enable FINEST log setting, will we be able to get details from >>>> neo4j about the lucene issue and why it causes such problems? >>>> >>>> >>>> Troubleshoot log: >>>> >>>> I managed to disable the tx logging via the console in the emebedded web >>>> server, and then ran an import. >>>> >>>> * Each Node that gets inserted - does a query, insert node, insert >>>> index entries >>>> * At around 3000 node mark, the rest api became unresponsive >>>> >>>> I have optimised the JVM by: >>>> Increases stack size to 2048k >>>> Increase Heap size to 512m -> 1024m >>>> Set JVM to Server Mode >>>> The GC is now optimized (In GCViewer, very few second generaton >>>> collections occur) Optmised the Gremlin code in the neo4jClient to used >>>> paramterised queries. >>>> Reduced the number concurrent threads from the .net application to 10 >>>> instead of unlimited to the rest api. >>>> Disabled LUCENE Indexes >>>> >>>> So with all the optimisation techniques from the performance guide being >>>> followed, we still get a slow response. So I guess this is not the flush >>>> to disk, as I notice my disk is very fast (SSD) and the %disk time and >>>> queue length is very low. >>>> >>>> Primary Cause Of Performance Issue >>>> Now, with the Lucene Index Calls via rest turned off, it is running >>>> much faster!! :) >>>> >>>> So the issue for us was all the Lucene Index rest Api calls. I guess this >>>> is the case as for each node we need to add +- 4-8 per node. This means, >>>> if we can reduce lucene index calls as Tatham logged by parsing a >>>> dictionary of key values in a json post, then we can reduce 4-8 rest calls >>>> to 1 call. >>>> >>>> So to CONFIRM, the REST API is STABLE when not creating the indexes >>>> for each node we create. Note all the calls are multithreaded. See >>>> below >>>> >>>> Log output: >>>> MyStory Welcome, Temporary from MyStory Administration. Logout? >>>> Agency Import Job 281 >>>> >>>> Log output: >>>> >>>> [02:07:36] [Thread 11] Migration message received at: 23/09/2011 >>>> 2:07:36 AM +00:00 >>>> >>>> [02:07:36] [Thread 11] Migration message payload: JobUniqueId: 281, >>>> AgencyUniqueId: 181 >>>> >>>> [02:07:37] [Thread 11] Executing sql script: >>>> e:\AzureTemp\Resources\483c6036-8050-4387-a806-6e880d655b58\temp\tem >>>> p\RoleTemp\634523764566141006\output.sql >>>> >>>> [02:07:39] [Thread 11] Processing script command line 10000/37620 >>>> >>>> [02:07:40] [Thread 11] Processing script command line 20000/37620 >>>> >>>> [02:07:42] [Thread 11] Processing script command line 30000/37620 >>>> >>>> [02:07:43] [Thread 11] All sql script commands executed 37620/37620 >>>> >>>> [02:07:51] [Thread 11] Importing 37619 clients into the database >>>> >>>> [02:08:22] [Thread 18] Processed 146/37619 clients, 4.72 clients >>>> per second, 02:12:25 remaining >>>> >>>> [02:08:53] [Thread 35] Processed 302/37619 clients, 4.87 clients >>>> per second, 02:07:43 remaining >>>> >>>> [02:09:24] [Thread 82] Processed 457/37619 clients, 4.92 clients >>>> per second, 02:05:58 remaining >>>> >>>> [02:09:58] [Thread 55] Processed 624/37619 clients, 4.93 clients >>>> per second, 02:05:02 remaining >>>> >>>> [02:10:29] [Thread 66] Processed 779/37619 clients, 4.93 clients >>>> per second, 02:04:32 remaining >>>> >>>> [02:11:01] [Thread 36] Processed 933/37619 clients, 4.92 clients >>>> per second, 02:04:12 remaining >>>> >>>> [02:11:13] [Thread 35] Processed 1000/37619 clients, 4.95 clients >>>> per second, 02:03:21 remaining >>>> >>>> [02:11:14] [Thread 40] Processed 1000/37619 clients, 4.95 clients >>>> per second, 02:03:21 remaining >>>> >>>> [02:11:48] [Thread 13] Processed 1147/37619 clients, 4.84 clients >>>> per second, 02:05:40 remaining >>>> >>>> [02:12:21] [Thread 9] Processed 1291/37619 clients, 4.78 clients >>>> per second, 02:06:40 remaining >>>> >>>> [02:12:52] [Thread 79] Processed 1437/37619 clients, 4.77 clients >>>> per second, 02:06:24 remaining >>>> >>>> [02:13:23] [Thread 167] Processed 1565/37619 clients, 4.71 clients >>>> per second, 02:07:33 remaining >>>> >>>> [02:13:56] [Thread 212] Processed 1708/37619 clients, 4.68 clients >>>> per second, 02:08:00 remaining >>>> >>>> [02:14:27] [Thread 26] Processed 1839/37619 clients, 4.64 clients >>>> per second, 02:08:31 remaining >>>> >>>> [02:14:58] [Thread 203] Processed 1971/37619 clients, 4.61 clients >>>> per second, 02:08:50 remaining >>>> >>>> [02:15:02] [Thread 91] Processed 2000/37619 clients, 4.64 clients >>>> per second, 02:08:04 remaining >>>> >>>> [02:15:04] [Thread 243] Processed 2000/37619 clients, 4.64 clients >>>> per second, 02:08:04 remaining >>>> >>>> [02:15:06] [Thread 13] Processed 2000/37619 clients, 4.64 clients >>>> per second, 02:08:04 remaining >>>> >>>> [02:15:09] [Thread 39] Processed 2000/37619 clients, 4.63 clients >>>> per second, 02:08:04 remaining >>>> >>>> [02:15:42] [Thread 71] Processed 2161/37619 clients, 4.59 clients >>>> per second, 02:08:47 remaining >>>> >>>> [02:16:15] [Thread 235] Processed 2305/37619 clients, 4.57 clients >>>> per second, 02:08:45 remaining >>>> >>>> [02:16:48] [Thread 179] Processed 2448/37619 clients, 4.56 clients >>>> per second, 02:08:34 remaining >>>> >>>> [02:17:20] [Thread 371] Processed 2591/37619 clients, 4.55 clients >>>> per second, 02:08:11 remaining >>>> >>>> [02:17:50] [Thread 327] Processed 2725/37619 clients, 4.55 clients >>>> per second, 02:07:52 remaining >>>> >>>> [02:18:23] [Thread 408] Processed 2865/37619 clients, 4.54 clients >>>> per second, 02:07:43 remaining >>>> >>>> [02:18:52] [Thread 111] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:04 remaining >>>> >>>> [02:18:53] [Thread 72] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:04 remaining >>>> >>>> [02:18:56] [Thread 424] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:05 remaining >>>> >>>> [02:18:58] [Thread 45] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:05 remaining >>>> >>>> [02:19:00] [Thread 254] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:05 remaining >>>> >>>> [02:19:02] [Thread 425] Processed 3000/37619 clients, 4.54 clients >>>> per second, 02:07:05 remaining >>>> >>>> [02:19:36] [Thread 320] Processed 3207/37619 clients, 4.55 clients >>>> per second, 02:06:02 remaining >>>> >>>> [02:20:06] [Thread 170] Processed 3350/37619 clients, 4.56 clients >>>> per second, 02:05:18 remaining >>>> >>>> [02:20:39] [Thread 46] Processed 3506/37619 clients, 4.57 clients >>>> per second, 02:04:31 remaining >>>> >>>> [02:21:11] [Thread 98] Processed 3638/37619 clients, 4.55 clients >>>> per second, 02:04:27 remaining >>>> >>>> [02:21:44] [Thread 447] Processed 3783/37619 clients, 4.54 clients >>>> per second, 02:04:11 remaining >>>> >>>> [02:22:18] [Thread 144] Processed 3927/37619 clients, 4.53 clients >>>> per second, 02:03:56 remaining >>>> >>>> [02:22:34] [Thread 200] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:34] [Thread 398] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:36] [Thread 41] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:38] [Thread 470] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:39] [Thread 471] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:42] [Thread 335] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:38 remaining >>>> >>>> [02:22:44] [Thread 558] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:39 remaining >>>> >>>> [02:22:46] [Thread 557] Processed 4000/37619 clients, 4.53 clients >>>> per second, 02:03:39 remaining >>>> >>>> [02:23:19] [Thread 587] Processed 4210/37619 clients, 4.54 clients >>>> per second, 02:02:41 remaining >>>> >>>> [02:23:52] [Thread 159] Processed 4353/37619 clients, 4.53 clients >>>> per second, 02:02:22 remaining >>>> >>>> [02:24:24] [Thread 311] Processed 4497/37619 clients, 4.53 clients >>>> per second, 02:01:53 remaining >>>> >>>> [02:24:55] [Thread 229] Processed 4631/37619 clients, 4.52 clients >>>> per second, 02:01:34 remaining >>>> >>>> [02:25:28] [Thread 200] Processed 4784/37619 clients, 4.53 clients >>>> per second, 02:00:54 remaining >>>> >>>> [02:26:00] [Thread 245] Processed 4936/37619 clients, 4.53 clients >>>> per second, 02:00:10 remaining >>>> >>>> [02:26:14] [Thread 693] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:53 remaining >>>> >>>> [02:26:15] [Thread 581] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:53 remaining >>>> >>>> [02:26:16] [Thread 694] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:53 remaining >>>> >>>> [02:26:18] [Thread 584] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:53 remaining >>>> >>>> [02:26:20] [Thread 416] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:53 remaining >>>> >>>> [02:26:22] [Thread 68] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:54 remaining >>>> >>>> [02:26:24] [Thread 46] Processed 5000/37619 clients, 4.53 clients >>>> per second, 01:59:54 remaining >>>> >>>> [02:26:57] [Thread 431] Processed 5224/37619 clients, 4.56 clients >>>> per second, 01:58:23 remaining >>>> >>>> [02:27:29] [Thread 627] Processed 5367/37619 clients, 4.56 clients >>>> per second, 01:57:56 remaining >>>> >>>> [02:28:00] [Thread 766] Processed 5522/37619 clients, 4.57 clients >>>> per second, 01:57:05 remaining >>>> >>>> [02:28:32] [Thread 659] Processed 5665/37619 clients, 4.57 clients >>>> per second, 01:56:38 remaining >>>> >>>> [02:29:06] [Thread 32] Processed 5821/37619 clients, 4.57 clients >>>> per second, 01:56:05 remaining >>>> >>>> [02:29:38] [Thread 693] Processed 5978/37619 clients, 4.57 clients >>>> per second, 01:55:19 remaining >>>> >>>> [02:30:11] [Thread 358] Processed 6157/37619 clients, 4.59 clients >>>> per second, 01:54:08 remaining >>>> >>>> [02:30:42] [Thread 615] Processed 6301/37619 clients, 4.59 clients >>>> per second, 01:53:35 remaining >>>> >>>> [02:31:14] [Thread 631] Processed 6458/37619 clients, 4.60 clients >>>> per second, 01:52:49 remaining >>>> >>>> [02:31:47] [Thread 229] Processed 6625/37619 clients, 4.61 clients >>>> per second, 01:51:57 remaining >>>> >>>> [02:32:20] [Thread 663] Processed 6806/37619 clients, 4.63 clients >>>> per second, 01:50:50 remaining >>>> >>>> [02:32:53] [Thread 202] Processed 6962/37619 clients, 4.63 clients >>>> per second, 01:50:14 remaining >>>> >>>> [02:33:00] [Thread 965] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:00 remaining >>>> >>>> [02:33:03] [Thread 569] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:00 remaining >>>> >>>> [02:33:04] [Thread 481] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:01 remaining >>>> >>>> [02:33:06] [Thread 966] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:01 remaining >>>> >>>> [02:33:08] [Thread 342] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:01 remaining >>>> >>>> [02:33:11] [Thread 483] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:01 remaining >>>> >>>> [02:33:13] [Thread 484] Processed 7000/37619 clients, 4.64 clients >>>> per second, 01:50:01 remaining >>>> >>>> [02:33:48] [Thread 68] Processed 7223/37619 clients, 4.64 clients >>>> per second, 01:49:11 remaining >>>> >>>> [02:34:19] [Thread 131] Processed 7367/37619 clients, 4.64 clients >>>> per second, 01:48:41 remaining >>>> >>>> [02:34:51] [Thread 869] Processed 7534/37619 clients, 4.65 clients >>>> per second, 01:47:49 remaining >>>> >>>> [02:35:22] [Thread 376] Processed 7689/37619 clients, 4.66 clients >>>> per second, 01:47:07 remaining >>>> >>>> [02:35:54] [Thread 1086] Processed 7857/37619 clients, 4.67 clients >>>> per second, 01:46:16 remaining >>>> >>>> [02:36:27] [Thread 123] Processed 8048/37619 clients, 4.69 clients >>>> per second, 01:45:06 remaining >>>> >>>> [02:37:01] [Thread 201] Processed 8227/37619 clients, 4.70 clients >>>> per second, 01:44:11 remaining >>>> >>>> [02:37:33] [Thread 1161] Processed 8407/37619 clients, 4.72 clients >>>> per second, 01:43:11 remaining >>>> >>>> [02:38:06] [Thread 59] Processed 8586/37619 clients, 4.73 clients >>>> per second, 01:42:16 remaining >>>> >>>> [02:38:38] [Thread 300] Processed 8755/37619 clients, 4.74 clients >>>> per second, 01:41:29 remaining >>>> >>>> [02:39:12] [Thread 862] Processed 8922/37619 clients, 4.74 clients >>>> per second, 01:40:49 remaining >>>> >>>> [02:39:25] [Thread 1239] Processed 9000/37619 clients, 4.75 clients >>>> per second, 01:40:21 remaining >>>> >>>> [02:39:26] [Thread 437] Processed 9000/37619 clients, 4.75 clients >>>> per second, 01:40:21 remaining >>>> >>>> [02:39:28] [Thread 1240] Processed 9000/37619 clients, 4.75 clients >>>> per second, 01:40:21 remaining >>>> >>>> [02:39:31] [Thread 23] Processed 9000/37619 clients, 4.75 clients >>>> per second, 01:40:21 remaining >>>> >>>> [02:40:05] [Thread 888] Processed 9208/37619 clients, 4.76 clients >>>> per second, 01:39:26 remaining >>>> >>>> [02:40:37] [Thread 320] Processed 9398/37619 clients, 4.78 clients >>>> per second, 01:38:23 remaining >>>> >>>> [02:41:10] [Thread 921] Processed 9566/37619 clients, 4.79 clients >>>> per second, 01:37:40 remaining >>>> >>>> [02:41:44] [Thread 792] Processed 9756/37619 clients, 4.80 clients >>>> per second, 01:36:46 remaining >>>> >>>> [02:42:17] [Thread 958] Processed 9936/37619 clients, 4.81 clients >>>> per second, 01:35:55 remaining >>>> >>>> [02:42:28] [Thread 1155] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:42:30] [Thread 67] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:42:33] [Thread 485] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:42:35] [Thread 406] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:42:37] [Thread 808] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:42:39] [Thread 1378] Processed 10000/37619 clients, 4.81 clients >>>> per second, 01:35:37 remaining >>>> >>>> [02:43:11] [Thread 1411] Processed 10234/37619 clients, 4.83 clients >>>> per second, 01:34:34 remaining >>>> >>>> [02:43:45] [Thread 298] Processed 10391/37619 clients, 4.82 clients >>>> per second, 01:34:03 remaining >>>> >>>> [02:44:16] [Thread 1459] Processed 10582/37619 clients, 4.84 clients >>>> per second, 01:33:01 remaining >>>> >>>> [02:44:49] [Thread 1041] Processed 10761/37619 clients, 4.85 clients >>>> per second, 01:32:16 remaining >>>> >>>> [02:45:22] [Thread 1057] Processed 10940/37619 clients, 4.86 clients >>>> per second, 01:31:29 remaining >>>> >>>> [02:45:53] [Thread 753] Processed 11108/37619 clients, 4.87 clients >>>> per second, 01:30:47 remaining >>>> >>>> [02:46:27] [Thread 910] Processed 11288/37619 clients, 4.87 clients >>>> per second, 01:30:03 remaining >>>> >>>> [02:47:00] [Thread 1580] Processed 11477/37619 clients, 4.89 clients >>>> per second, 01:29:10 remaining >>>> >>>> [02:47:32] [Thread 125] Processed 11645/37619 clients, 4.89 clients >>>> per second, 01:28:30 remaining >>>> >>>> [02:48:06] [Thread 1628] Processed 11824/37619 clients, 4.90 clients >>>> per second, 01:27:48 remaining >>>> >>>> [02:48:40] [Thread 1385] Processed 12003/37619 clients, 4.90 clients >>>> per second, 01:27:06 remaining >>>> >>>> [02:49:12] [Thread 1401] Processed 12171/37619 clients, 4.91 clients >>>> per second, 01:26:27 remaining >>>> >>>> [02:49:44] [Thread 1192] Processed 12331/37619 clients, 4.91 clients >>>> per second, 01:25:53 remaining >>>> >>>> [02:50:15] [Thread 1444] Processed 12508/37619 clients, 4.92 clients >>>> per second, 01:25:07 remaining >>>> >>>> [02:50:47] [Thread 1463] Processed 12684/37619 clients, 4.92 clients >>>> per second, 01:24:24 remaining >>>> >>>> -----Original Message----- >>>> From: [email protected] >>>> [mailto:[email protected]] On Behalf Of Romiko Derbynew >>>> Sent: Friday, 23 September 2011 9:37 AM >>>> To: Neo4j user discussions >>>> Cc: Tatham Oddie >>>> Subject: Re: [Neo4j] Turning Off or Configuring log rotation >>>> >>>> Hi Peter, >>>> >>>> Thank you so much for the tips, will look into this today and see >>>> what I can come up with. After my musings will definitely file for >>>> new features e.g >>>> * Batching via rest api (Being on .Net we rely solely on the Rest >>>> API) >>>> * Configuration level control of transaction log default sizes e.g. >>>> 10mb -> 100mb, disabled >>>> * Explore ways to optimise flushing to disk without affecting the >>>> rest api >>>> >>>> Regards >>>> >>>> -----Original Message----- >>>> From: [email protected] >>>> [mailto:[email protected]] On Behalf Of Peter Neubauer >>>> Sent: Friday, 23 September 2011 7:28 AM >>>> To: Neo4j user discussions >>>> Subject: Re: [Neo4j] Turning Off or Configuring log rotation >>>> >>>> Romiko, >>>> Gremlin is basically executing Java on the server side and thus can do >>>> anything java can do. >>>> http://docs.neo4j.org/chunked/snapshot/gremlin-plugin.html#rest-api- >>>> send-an-arbitrary-groovy-script---lucene-sorting >>>> has an example of mixing native Neo4j API calls (g.createNode() etc) >>>> after obtaining the injected Neo4j DB instance with >>>> >>>> g.getRawGraph(), in this case using Neo4j Index sorting. >>>> >>>> After that, just call the log rotation code. Let me know how it works out, >>>> otherwise I can provide an example tomorrow? >>>> >>>> Cheers, >>>> >>>> /peter neubauer >>>> >>>> GTalk: neubauer.peter >>>> Skype peter.neubauer >>>> Phone +46 704 106975 >>>> LinkedIn http://www.linkedin.com/in/neubauer >>>> Twitter http://twitter.com/peterneubauer >>>> >>>> http://www.neo4j.org - Your high performance graph database. >>>> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>> >>>> >>>> >>>> On Thu, Sep 22, 2011 at 11:17 PM, Romiko Derbynew >>>> <[email protected]> wrote: >>>>> Hi Peter, >>>>> >>>>> I think this will be ok via gremlin. Have you got any sample gremlin code >>>>> that can do this, that would be much appreciated. Also in the long term I >>>>> think a combo of tx logs + rest API batching will be the solution. >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On 22/09/2011, at 10:08 PM, "Peter Neubauer" >>>>> <[email protected]> wrote: >>>>> >>>>>> Romiko, >>>>>> I would suggest to do the TX log config via Gremlin for the time >>>>>> being, so you can resolve it via scripting. For the exposure of >>>>>> the Tx log rotate size as a configuration property (there are logs >>>>>> for every XA resource participating in a transaction), please >>>>>> raise an issue at https://github.com/neo4j/community/issues - good input! >>>>>> >>>>>> For the flushing to disk, we will merge a Deferred Write feature >>>>>> back into master soonish (after 1.5) which lets the OS decide when >>>>>> to flush, if you can stand the risk of a lost flush if things go down. >>>>>> The REST interface is waiting for the TX to be finished, which is >>>>>> why it is slowing down when you have big flushes. See >>>>>> https://github.com/neo4j/community/issues/18 for the ticket on >>>>>> this >>>>>> :) >>>>>> >>>>>> Would that be ok? >>>>>> >>>>>> Cheers, >>>>>> >>>>>> /peter neubauer >>>>>> >>>>>> GTalk: neubauer.peter >>>>>> Skype peter.neubauer >>>>>> Phone +46 704 106975 >>>>>> LinkedIn http://www.linkedin.com/in/neubauer >>>>>> Twitter http://twitter.com/peterneubauer >>>>>> >>>>>> http://www.neo4j.org - Your high performance graph >>>>>> database. >>>>>> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Sep 22, 2011 at 1:52 PM, Romiko Derbynew >>>>>> <[email protected]> wrote: >>>>>>> Hi, >>>>>>> >>>>>>> It's the database logging, I'm finding the transaction logs are causing >>>>>>> the rest API to become unresponsive when it flushes to disk. Basically >>>>>>> just want to turn it off or set the tlog size by configuration and not >>>>>>> via code sample as it is demonstrated in the performance guide. >>>>>>> >>>>>>> The current work around without this setting is a circuit breaker >>>>>>> pattern. But I am very concerned as the DB flush should not slow >>>>>>> down further rest calls :( >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On 22/09/2011, at 6:36 PM, "Peter Neubauer" >>>>>>> <[email protected]> wrote: >>>>>>> >>>>>>>> Romiko, >>>>>>>> which log files are you referring to? For the database >>>>>>>> transaction log rotation, look at the neo4j.properties file to >>>>>>>> tune things, see >>>>>>>> http://docs.neo4j.org/chunked/snapshot/server-configuration.html >>>>>>>> >>>>>>>> For the server, there is logging.properties to tweak stuff. Note >>>>>>>> that these settings require a restart to take effect. >>>>>>>> >>>>>>>> HTH >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> /peter neubauer >>>>>>>> >>>>>>>> GTalk: neubauer.peter >>>>>>>> Skype peter.neubauer >>>>>>>> Phone +46 704 106975 >>>>>>>> LinkedIn http://www.linkedin.com/in/neubauer >>>>>>>> Twitter http://twitter.com/peterneubauer >>>>>>>> >>>>>>>> http://www.neo4j.org - Your high performance graph >>>>>>>> database. >>>>>>>> http://startupbootcamp.org/ - Öresund - Innovation happens HERE. >>>>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Sep 22, 2011 at 1:38 AM, Romiko Derbynew >>>>>>>> <[email protected]> wrote: >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I am using Neo4j on a Windows Server, is there any way I can >>>>>>>>> configure log rotation via the configuration files? I would like to >>>>>>>>> turn it off or try a different log rotation size. Since I am on >>>>>>>>> windows, I am not sure how I would do it at runtime. >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> _______________________________________________ >>>>>>>>> Neo4j mailing list >>>>>>>>> [email protected] >>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Neo4j mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Neo4j mailing list >>>>>>> [email protected] >>>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>>> >>>>>> _______________________________________________ >>>>>> Neo4j mailing list >>>>>> [email protected] >>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>> >>>>> _______________________________________________ >>>>> Neo4j mailing list >>>>> [email protected] >>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>> _______________________________________________ >>> Neo4j mailing list >>> [email protected] >>> https://lists.neo4j.org/mailman/listinfo/user >>> >> _______________________________________________ >> Neo4j mailing list >> [email protected] >> https://lists.neo4j.org/mailman/listinfo/user >> > > _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

