/NodeJS_Websocket-Benchmark-Client

This is a NodeJS websocket client designed to benchmark the performance of both reliability and speed of various websocket implementations.

Primary LanguageJavaScript

NodeJS Websocket Benchmark Client

If interested in the results, read the Full Report or the shortened Blog Post about this experiment.

This is a NodeJS websocket client designed to benchmark the performance of both reliability and speed of various websocket implementations.

The other server variations can be found at the links below

*** If the client seems to freeze on Windows, try disabling Quick Edit Mode in the Command Prompt

Quick Set-Up

docker run mtomasetti/nodejs_websocket-benchmark-client

That's it! The websocket server will automatically start ####Optional Environment Variables

  • BENCHMARK_FOLDER - The base directory where all benchmark results are stored
    • Default: "./benchmarks"
    • Type: string
  • BENCHMARK_LANGUAGE - The language which is being benchmarked
    • Default: manual user input
    • Type: string
  • WEBSOCKET_ADDRESS - IP address of the websocket server to connect to
    • Default: "127.0.0.1"
    • Type: string
  • WEBSOCKET_PORT - Port number of the websocket to connect to
    • Default: 8080
    • Type: integer
  • ADD_CONNECTIONS - The number of websocket connections to add each round
    • Default: 100
    • Type: integer
  • REQUESTS - The number of requests to sound out per connected client per round
    • Default: 50
    • Type: integer
  • ROUNDS - The number of rounds to perform per test
    • Default: 25
    • Type: integer

Dockerfile Set-Up

docker build . -t websocket_benchmark/client
docker run websocket_benchmark/client

Manual Set-up

Requirements

In order for this websocket server to compile and run, it requires:

  • Node
  • Yarn

It is recommended that you use the ready-made environment via the included Dockerfile

Install & Run

yarn install
node main.js

Links

GitHub

Docker Hub