Skip to content

FunAdityaSun/NetworkBench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NetworkBench

Overview

A small UDP client/server module that simulates online game-like traffic and measures throughput, packet loss, jitter, and ping. It also includes optional CPU and Memory load threads to see how local resource contention affect network behavior.

Project Setup (Linux)

Pre-req

Have gcc installed.

sudo apt install build-essential

If running UDP server/client on different machines but same LAN replace SERVER_IP in udp_client.c with the server's lan ip.

If running UDP server/client on localhost, seperate network noise can be artificially simulated using tc netem:

sudo tc qdisc add dev lo root netem delay 8ms 3ms loss 0.5% rate 50mbit

Restore after running tests:

sudo tc qdisc del dev lo root

Build and run

make

To test CPU or memory microbenchmark.

./benchmark --cpu 100000000 # can put desired iterations value
./benchmark --mem 512 # can put desired memory size in MB

To run udp server and client (run server first on one terminal and then client on a different terminal).

./benchmark --udp_server
./benchmark --udp_client

# Server and client with background load
./benchmark --udp_server --with_cpu 100000000 --with_mem 512
./benchmark --udp_client --with_cpu 100000000 --with_mem 512

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published