Lately I’ve been banging around a lot in order to get up to speed with Erlang/OTP and its various web-server libraries, and I figured I could share some of my findings here for future reference and in general for The Greater Good.
As you might have already noticed, this benchmark concerns two of the most well knows Erlang web-server libraries, MochiWeb and Cowboy, and it aims to explore their behaviour under some considerable load.
The server in question uses two communication protocols, HTTP and WebSocket, so as an added benefit we’ll see how these two compare. Unfortunately, MochiWeb doesn’t have a built-in support for WebSocket, so an external library was needed. The rather simple client API is defined as:
- http://host/poll/N – an HTTP chunked reply with one chunk of data sent every N seconds,
- ws://host/wspoll/N – a WebSocket connection with one chunk sent every N seconds.