Skip to content

stec-zcps/rperf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status FOSSA Status

Introduction

Rperf is a network latency measurement tool written in Rust. It aims to analyze the network latency of packets with different test parameters (e.g. network protocol, packet size, packet rate). The following features and parameters are currently supported:

  • Measure round trip time of packets via ping pong between client and server
  • Measure one way latencies of packets between client and server using system timestamps (system clocks of client and server need to be synchronized!)
  • UDP or TCP for packet transmission between client and server
  • Configurable packet rate per second
  • Configurable payload size of packets (min. 16 bytes)
  • Create symmetric or asymmetric network load by using minimal pong packets or packet mirroring
  • Output test results CSV file

Build

Executable

Prerequisites:

Use the following command to build the tool. After build executable 'rperf' can be found in target/release directory.

cargo build --release

Docker Image

docker build -t stecipa/rperf:1.0.0-SNAPSHOT .

Use

Rperf Docker Image is available on Docker Hub.

Rperf can be started in server or client mode. Use the following command to display the help text and the available parameters:

rperf help 

Server

Usage:

rperf server --port <Port> --protocol <Protocol>

Example:

rperf server --port 5555 --protocol udp

Client

Usage:

rperf client [FLAGS] [OPTIONS] --ip <IP> --port <Port> --time <time> --mps <time> --size <size> --protocol <Protocol>

Example:

rperf client --ip 127.0.0.1 -p 5555 --time 2 --warmup 1 --mps 1000 --size 64 --protocol udp --log result.csv --owl --rtt

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published