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.
