[erlang-questions] Erlang HTTP client libraries- pros/cons
Frank Muller
frank.muller.erl@REDACTED
Thu Aug 31 03:34:34 CEST 2017
The above mentioned clients are also slow compared to "buoy":
https://github.com/lpgauth/buoy
Watch the author's video at:
http://www.erlang-factory.com/sfbay2017/louisphilippe-gauthier.html
/Frank
Le mer. 30 août 2017 à 23:47, Martin Karlsson <martin@REDACTED>
wrote:
> I have done some benchmarking for our specific use case.
>
> * Main web server with high number of concurrent requests coming in
> (~1000 concurrent requests per second but benchmarked up to 10,000
> requests)
> * Most requests requires a call out to an back-end HTTP server (only
> GET)
> * There are few back-end endpoints (3).
>
> It is not clear how many different kind of servers you are going to call
> out to and this will likely affect your choice of library.
>
> For our use case I benchmarked httpc, gun, hackney, dlhttpc, ibrowse.
>
> All of them behaves well when the endpoint replies quickly. However,
> once the latency of the response goes up we have problems with all
> "traditional
> clients". The only one that worked for us in this use case was dlhttpc
> (https://github.com/ferd/dlhttpc) and this is likely because of the
> dispcount "router".
>
> I know hackney has experimental dispcount pooling so that would likely
> work as well.
>
> * httpc is known to have a few quirks. For our use case which only do HTTP
> get requests, no cookies, pipelines or other it works well but there is
> a gen_server bottleneck in there somewhere when calling only few
> endpoints (have not tried with many endpoints). The biggest pro is that
> it is built-in, but behaves a bit strange under load.
>
> * gun - was discarded quickly as I couldn't get anywhere near the
> performance I was after and I didn't have the time to trouble-shoot
> with so many other alternatives.
>
> * hackney and ibrowse - seemed like the most stable clients in term of
> response times. hackney is also used lots in the elixir community so
> it should have some good production usage. ibrowse has been around
> for a long time.
>
> * dlhttpc - works best for us. Not updated in a while so can't say
> anything for more advanced usage. Again, this is becuase of dispcount
> routing, not the actual http client in it self.
>
>
> Cheers
> Martin
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170831/f58e11f7/attachment.htm>
More information about the erlang-questions
mailing list