Skip to content

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

Notifications You must be signed in to change notification settings

matttomasetti/NodeJS_Websocket-Benchmark-Client

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published