Benchmarking WebSockets

I’m writing an elixir app that runs raw WebSockets over cowboy, and I’m at a point where things work and I’d like to make them fast. But to do that, I feel that I need get automated benchmarks working. I know of a lot of tools that can benchmark over HTTP, but I’ve never done this for WebSockets.

From what I’ve looked, I’ve found a bunch of npm packages that claim to do WebSocket benchmarking, but nothing seems to stand out. Ideally I’d need something that can use my custom binary protocol during the benchmark.

What tool would you guys recommend?

1 Like

Tsung is one stress tester you can you use (http://tsung.erlang-projects.org/) and it’s actually written in erlang. If I remember correctly, it’s the one that Chris and the team used when trying to get 2million websocket connections

1 Like

We detail exactly how to do this with specific Tsung config for channels in our 2M blog post:
http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections

3 Likes