Le 08/12/2017 à 17:13, Norbert Hartl a écrit :

Hi,

Am 08.12.2017 um 15:32 schrieb Yann Lesage <yannle...@gmail.com>:

Hello,


I write an driver for Arangodb . So like it's indicated in Arango 
documentation, I use the HTTP API.  The repo is 
https://github.com/Valtena/Pharango

that is really wonderful. I‘m planning to do that for a long time but didn‘t 
find the time yet. Maybe I can find some time to help a little if you are 
interested.
I have see that on the Pharo Discord. I don't had finish a first version, write the road map and contributor.md, so it maybe a little early for that. But I not against a code review in futur or another help.

Now, the problem : Arango using Znclient make around 1 000 requests/second.


And the question : Are there any recommended pratice to have the better 
performance with ZNClient or a better way to perform lot of HTTP requests ?

I think the biggest benefit comes from caching the ZnClient. It is designed to 
be used like that. Next could be using keep-alive in order to reduce the number 
of connections to be made. Finalky I could imagine that pooling the most heavy 
objects in zinc can remove stress from the garbage collector.
I am agree with this. I cache the ZnClient, without that, I don't have more than 400 or 500 request/s. And the keep-alive is the default behavior in Arango et ZnClient.

Norbert
Thanks for your attention,

Yann Lesage

Le 08/12/2017 à 22:14, Stephane Ducasse a écrit :
Yann
I do not think that connecting a database via a HTTP client can be as
fast as with a FFI or other means.
This is mainly why database like Gemstone are superior for accessing a
lot of data.
Stef

I know that, but I would try to have the better performances. After, user can group requests to limit the cost of http protocol. So, it's not a fatality. I think try to use the arango shell in futur. In first, I will finish the driver with HTTP client because is more easier to write it and more flexible in using with distant server.

Yann Lesage

Reply via email to