Hi Frank,
   Just share some findings to you.
   For single thread synchronous insert, MongoDB is 2 times faster than 
ArangoDB based on YCSB. I did profiling inside ArangoDB, and the time cost 
is quite clear now.   
*Conclusion:*
The additional time cost is: "2 threads with request queue, gson 
serialization, http protocol".
*Raw test data:*
Time cost in client side, total: 341us
PrepareData     ->      StartInsert:              7us
StartInsert             ->      BeforeValidate:  0us
BeforeValidate   ->      BeforePrepareHttpBody:    0us
BeforePrepareHttpBody   ->      BeforeHttpManagerPost:    68us (gson 
serialization)
BeforeHttpManagerPost   ->      BeforePrepareHttpRequest:  3us (http 
protocol)
BeforePrepareHttpRequest ->      BeforeClientSend:      9us (http protocol)
BeforeClientSend     ->      AfterClientReceived:              221us
AfterClientReceived             ->      BeforeCreateEntity:    21us (gson 
serialization)
BeforeCreateEntity     ->      BeforeUpdateDocumentAttributes: 6us
BeforeUpdateDocumentAttributes  ->      EndInsert:                1us

Time cose in server side:

reqSize 1.47KB, respSize 335Bytes, total 161us, request 90us, queue 36us, 
io 33us

*Experiment:*
I merged two threads into one(schedule and dispatcher) and remove the 
queue, then it is 23% faster for single insert.

On Friday, May 6, 2016 at 6:25:18 PM UTC+8, Frank Celler wrote:
>
> Hi Yemin,
>
> thanks a lot. I will have a look at the code and come back with my 
> findings.
>
> Best
>   Frank
>
> Am Freitag, 6. Mai 2016 01:47:55 UTC+2 schrieb Yemin:
>>
>> Hi Frank,
>>    Here is the YCSB with ArangoDB code, you can try it. Any problem, 
>> contact me.
>>  https://github.com/smallsmallc/YCSB/tree/arangodb/arangodb
>>
>>
>> On Thursday, May 5, 2016 at 12:15:10 AM UTC+8, Frank Celler wrote:
>>>
>>> Hi Yemin,
>>>
>>> we used the mongodb nodejs driver 2.0.33 which contains a native C++ 
>>> extensions during the tests. Hopefully, that means that the driver is 
>>> better than the native ArangoDB in Javascript.
>>>
>>> However, as always there is a good chance that there are problems in the 
>>> ArangoDB Java driver. At least in other languages there were always 
>>> pitfalls with the http driver. Therefore it would be important, that we can 
>>> reproduce your finding and understand, what is going on in the Java driver.
>>>
>>> As I understand it, the YCSB is publically availably. Where can I 
>>> download your ArangoDB driver for YCSB? Is it also on github?
>>>
>>> Thanks
>>>
>>>
>>> Am Mittwoch, 4. Mai 2016 17:28:34 UTC+2 schrieb Yemin:
>>>>
>>>> Official test result shows that ArangoDB is much faster than MongoDB 
>>>> for insert. (
>>>> https://www.arangodb.com/2015/10/benchmark-postgresql-mongodb-arangodb/
>>>> )
>>>> I re-run your nodejs benchmark and got the same result, but I found 
>>>> that benchmark itself was 100% CPU and it's single thread. It only means 
>>>> that MongoDB's  nodejs client is worse than ArangoDB's. It can not show 
>>>> the 
>>>> insert performance of server side by that nodejs benchmark.
>>>>
>>>> Actually I re-run the perf test of ArangoDB and MongoDB using YCSB. It 
>>>> shows MongoDB is more than 2 times faster than ArangoDB in insert, update, 
>>>> read.
>>>>
>>>> Just post my investigation here for your reference.
>>>>
>>>> Thx!
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"ArangoDB" 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.

Reply via email to