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: neubauer.pe...@gmail.com [mailto:neubauer.pe...@gmail.com] 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 <romiko.derby...@readify.net> 
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" 
> <peter.neuba...@neotechnology.com> 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
>> <romiko.derby...@readify.net> 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: user-boun...@lists.neo4j.org
>>> [mailto:user-boun...@lists.neo4j.org] 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: user-boun...@lists.neo4j.org
>>> [mailto:user-boun...@lists.neo4j.org] 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: user-boun...@lists.neo4j.org
>>> [mailto:user-boun...@lists.neo4j.org] 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: user-boun...@lists.neo4j.org
>>> [mailto:user-boun...@lists.neo4j.org] 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 
>>> <romiko.derby...@readify.net> 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" 
>>>> <peter.neuba...@neotechnology.com> 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
>>>>> <romiko.derby...@readify.net> 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" 
>>>>>> <peter.neuba...@neotechnology.com> 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
>>>>>>> <romiko.derby...@readify.net> 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
>>>>>>>> User@lists.neo4j.org
>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Neo4j mailing list
>>>>>>> User@lists.neo4j.org
>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Neo4j mailing list
>>>>>> User@lists.neo4j.org
>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>
>>>>> _______________________________________________
>>>>> Neo4j mailing list
>>>>> User@lists.neo4j.org
>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> User@lists.neo4j.org
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>>
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to