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