Home

Awesome

go-client-server-communication-benchmarks

This project compares the performance of several client-server communication libraries/frameworks for Golang.

Tested libraries/frameworks

Short Benchmarks Description

In this benchmarks 1,2,4,8,16 clients send echo requests to the server as follows:

Results

All results were obtained on a single laptop (with the connected charger and fan running at full speed):

with the following commands:

CLIENTS_COUNT=n GEN_SIZE=m go test -bench=BenchmarkQPS_... -count=10
CLIENTS_COUNT=n GEN_SIZE=m go test -bench=BenchmarkFixed_... -benchtime=(100000/n)x -benchmem -count=10

, where n - the number of clients, m - the number of generated test data.

image

To get more comparable results, let's check how well all participants can handle 100,000 simultaneous requests:

image image image image image image image image